Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-96816
Вит
2003-01-20 18:19
2003.01.30
Масштабирование графических файлов


1-96668
Black Tiger
2003-01-21 04:33
2003.01.30
Edit


1-96840
freeek10
2003-01-20 20:56
2003.01.30
ListBox


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


1-96760
zavisalych
2003-01-22 10:26
2003.01.30
Баг в компиляторе? неверное присвоение локалькой переменной





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский