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

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

Обработчик событий [D5, Win95/98, WinME]


DJ_Sedoy ©   (2002-12-28 00:28:00) 

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

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); //Например....
то несовместимость типов...


DJ_Sedoy   (2002-12-28 17:39:00) [1]

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

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


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

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

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


DJ_Sedoy   (2002-12-28 02:19:00) [3]

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

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

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

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


VID   (2002-12-28 02:02:00) [4]

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

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


Наверх

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