Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызвать обработчик, имя которого неизвестно в дизайн-тайме


Страницы:   1 2

TrainerOfDolphins ©   (2006-12-08 16:25:00) 

День добрый!
Есть ли способ из кода вызвать обработчик, указатель на который содержится в свойстве типа, например, TNotifyEvent?
Заранее спасибо.


Elen   (2006-12-08 16:57:00) [21]


> как вызвать UnknownHandler через свойство OnDblClick?
> Если можно, конкретней, пожалуйста... :)

Когда-то мне попалась на глаза статья одного Хацкера. Он предлагал примерно такой вариант - (сразу скажу что говорю примерно) Выделить в начале обработчика IP вызвавшей функции и JMP на нее, но это ИМХО геммор особенно в Делфях, хотя он настаивал что можно везде.


novill   (2006-12-08 16:48:00) [22]

> [5] Anatoly Podgoretsky ©   (08.12.06 16:39)

А чем написанное там мешает такой работе?


TrainerOfDolphins   (2006-12-08 16:48:00) [23]


> Открой исходника VCL и поиск по if Assigned(F далее смотришь
> что там.

там много таких мест.


novill   (2006-12-08 16:44:00) [24]

> [0] TrainerOfDolphins ©   (08.12.06 16:25)


Метод с подходящими параметрами написан?
Имя или адрес его перед присваиванием известны?
Задавай!


Anatoly Podgoretsky   (2006-12-08 16:39:00) [25]

> TrainerOfDolphins  (08.12.2006 16:35:03)  [3]

Открой исходника VCL и поиск по if Assigned(F далее смотришь что там.


TrainerOfDolphins   (2006-12-08 16:38:00) [26]


> Это не возможно, Дельфи не интерпритатор, все обработчики
> должны быть созданы в Дизайн тайм и до компиляции.

Но я же могу переприсваивать обработчики в коде. Могу запоминать обработчик в переменную...


TrainerOfDolphins   (2006-12-08 16:35:00) [27]


> имя свойтсва известно?
> вызывай его

Предположим есть
SomeDBGrid.OnDblClick:=UnknownHandler;
как вызвать UnknownHandler через свойство OnDblClick?
Если можно, конкретней, пожалуйста... :)


Anatoly Podgoretsky   (2006-12-08 16:33:00) [28]

> TrainerOfDolphins  (08.12.2006 16:25:00)  [0]

Это не возможно, Дельфи не интерпритатор, все обработчики должны быть созданы в Дизайн тайм и до компиляции.


Desdechado   (2006-12-08 16:26:00) [29]

имя свойтсва известно?
вызывай его


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо