Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

Обработчик событий   Найти похожие ветки 

 
DJ_Sedoy ©   (2002-12-28 00:28) [0]

Создаю форму и кнопку на ней:

MyForm:=TForm.Create(self);
MyForm.Parent:=Form1; //Но в идеале без этого, не буду привязывать
MyButton:=TButton.Create(self);
MyButton.Parent:=MyForm;
MyButton.Show;
MyForm.ShowModal;

Вопрос: как бы мне корректно сделать обработчик события onClick на эту кнопку ? Чтобы в нём (пусть будет MyProcedure) присвоить MyForm.NodalResult:=mrOK; В HELP сказано, что TNotify: procedure (...) of object

Если ставить
MyButton.onClick:=MyProcedure(sender: TObject); //Например....
то несовместимость типов...


 
VID ©   (2002-12-28 02:02) [1]

Procedure MyProc(Sender:TОБЖЕК);
begin
try (MyButton.Parent as TForm).ModalResult := mrOk; except end;
end;

MyБАТОН.OnCLICK := MyProc;


 
DJ_Sedoy ©   (2002-12-28 02:19) [2]

Точно. Пасибо.
Только работает вот так:

Procedure TForm1.MyProc(Sender:TОБЖЕК);
begin
try (MyButton.Parent as TForm).ModalResult := mrOk; except end;
end;

MyБАТОН.OnCLICK := MyProc;

ну или там TMyClass, если кто-то хочет вынести куда-то, чтоб не мешалось.
(Это для таких, типа меня, кому пригодится)


 
Ещё   (2002-12-28 03:38) [3]

раз обрати внимание на свои же слова:
"В HELP сказано, что TNotify: procedure (...) of object"!

Ещё раз: Любые обработчики событий должны быть методами класса!


 
DJ_Sedoy ©   (2002-12-28 17:39) [4]

Да-да.. Я понял, верю - сам стормозил. Потому и подписал потом для последователей, не очень внимательных :) Типа меня.
Просто с созданием объектов в RunTime первый раз стлкнулся, да и собственные классы никогда не делал.

Еще раз пасиб!



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
6-37259
Hirara
2002-11-10 00:13
2003.01.13
Про сокеты


3-36923
ффф
2002-12-17 17:29
2003.01.13
Запрос


6-37256
Евген
2002-11-14 12:06
2003.01.13
Включение компа по сети


4-37459
esVer
2002-11-25 11:05
2003.01.13
TMainMenu + ownerdraw


14-37355
Свой
2002-12-20 11:44
2003.01.13
Создание ОС