Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: 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 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
6-96910
Nord-Ost
2002-12-04 15:32
2003.01.30
А куда девался TClientSocket?


1-96833
Дмитрий Минеев
2003-01-20 23:10
2003.01.30
СкроллБар в компоненте


6-96928
pepitoff
2002-12-06 12:53
2003.01.30
How make a shred folder in Win9x ?


3-96617
vv_fran
2003-01-13 11:51
2003.01.30
Падение сервера FireBirrd 1.0.2.908 (FibPlus 4.77)


1-96709
SaperXL
2003-01-22 10:03
2003.01.30
Активная форма