Вниз
Скачать: CL | DM;

Программно изменить имя процедуры-обработчика события   Найти похожие ветки 

← →
lightix   (2003-01-21 16:35) [0]

Подскажите, возможно ли такое:
Установить для Action1.OnExecute одну процедуру-обработчик, а потом программно изменить ее на другую?


← →
uw ©   (2003-01-21 16:38) [1]

Присвой ей адрес этой другой и все.


← →
lightix   (2003-01-21 16:46) [2]

Action1->OnExecute имеет тип TNotyfyEvent. Как я могу ему присвоить адрес?


← →
lightix   (2003-01-21 17:02) [3]

ЭЙ! МАСТЕРААААА!!!
Ну подскажите, неужели никто не знает?

Есть Action1->OnExecute и есть функция my_function(...)
Как сказать во время выполнения программы, чтобы при OnExecute выполнялась эта функция??


← →
PVOzerski ©   (2003-01-21 17:09) [4]

Так не адрес надо присваивать, а процедурную переменную of object! То есть, например:
Button1.onClick:=Form1.onClick;
Важно лишь, чтобы присваиваемая процедура была методом какого-нибудь класса и совпадала по параметрам вызова и соглашениям об их передаче.


← →
KDenis ©   (2003-01-21 17:10) [5]

Попробуй для Action1.OnExecute написать код:
IF <Что-то = true> then <первая процедура>
Else If <Что-то = false> then <вторая процедура>


← →
lightix   (2003-01-21 17:21) [6]

Хе-хе :) если б так можно было, уже давно бы написал :)
А мне в том-то и дело, что нужно свою процедуру туда прописать, со своими параметрами и т.п.
Это нужно для того чтобы сформировать элемент меню (функция NewItem требует в качестве обработчика значение именно TNotofyEvent). А мне нужно туда засадить свою процедуру.
Т.е. я хочу объявить переменную типа TNotifyEvent и посадить в нее свою функцию со своими параметрами....


← →
icWasya ©   (2003-01-21 17:40) [7]

.. и посадить в нее свою функцию со своими параметрами....????????
энто как???


unit Classes;
...........
type TNotifyEvent = procedure(Sender:TObject) of object;

// !!!!!!!!!!!


← →
lightix   (2003-01-21 17:48) [8]

Вот, теперь понятно, что это невозможно..... :((((
Ну а хотя бы по Sender"у можно определить имя объекта?
т.е. какой элемент меню вызвал процедуру?


← →
uw ©   (2003-01-21 18:03) [9]

>PVOzerski. Присваивается именно адрес. Нет никакой переменной, а есть метод.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
3-96524
Flagman
2003-01-10 17:37
2003.01.30
Maximum


3-96519
AVovik
2003-01-14 15:34
2003.01.30
Кто знает откуда берется эта messag


4-97082
asdqwer
2002-12-15 08:49
2003.01.30
Как в WinRAR


6-96908
DDF
2002-12-04 06:55
2003.01.30
как определить есть ли интерент?


1-96781
diks
2003-01-22 16:55
2003.01.30
X




   Наверх