![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Knuckles |
|
||||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 33 Регистрация: 8.3.2006 Репутация: нет Всего: 2 |
Привет, знатоки.
Есть примерно такой тип:
В процедуру передается массив указателей на такие методы (array of TMyMethod). Подскажите, как их хранить? Нужно выковырять сам адрес кода и указатель на Self, чтобы позже можно было сделать что-то вроде:
|
||||
|
|||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Преобразование типов к TMethod. У TMethod (это запись) читать Code (это процедура) и Data (это объект).
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Bose |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
не понимаю, зачем такие извращения. Если у тебя есть свой тип, и все методы будут именно такого типа, то можно работать как с обычными переменными. Вот пример для обычной переменной
С массивом аналогично. |
||||||||||
|
|||||||||||
Knuckles |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 33 Регистрация: 8.3.2006 Репутация: нет Всего: 2 |
Спасибо. То, что нужно. И ведь смотрел на этот тип, но не догадался ![]() Дело в том, что я использую библиотеку контейнеров DeCAL, поэтому "просто массива" для хранения нету. Кстати, временно использовал такое решение: создал класс-обёртку для метода с единственной процедурой Run, в которой он вызывает хранимый метод (передается ему в конструкторе). В контейнер кладу указатель на обёртку. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |