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

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

Как задать обработчик события во время исполнения? [D7]


Franzy ©   (2006-07-01 14:18:00) 

Может, я чего-то не понимаю, но мне никак не удается задать обработчик события во время исполнения. Итак, есть некий класс, наследник Timage. Создаю его в обработчике Tform1.create:
myclass:=tmyclass.create(self);
myclass.parent:=form1.

Хочу теперь привязать некий обработчик (который по некоторым причинам нельзя задать при определении класса) к событию, скажем, onclick _данного экземпляра_ этого класса.
Вопрос: как это сделать?


Franzy   (2006-07-01 19:51:00) [1]

Так и сделал, заработало :)


Loginov Dmitry   (2006-07-01 16:46:00) [2]

Можно так еще:

procedure TMyClass.dosomething(sender:TObject);
.......

тогда в TMyClass.OnCreate: MyClass.OnClick := dosomething;


Loginov Dmitry   (2006-07-01 16:46:00) [3]

т.е.

OnClick := dosomething;


Franzy   (2006-07-01 16:18:00) [4]

А, то бишь название процедуры нужно писать TForm1.dosomething(sender:TObject)?


Desdechado   (2006-07-01 14:50:00) [5]

Правильно, читай п.1 из [2].
Это должен быть методформы.


Franzy   (2006-07-01 14:39:00) [6]

Дело в том, что когда я пишу процедуру типа dosomething(sender:TObject), дельфи ругается, что такие объявления возможны только для классов.


Desdechado   (2006-07-01 14:34:00) [7]

Естественно:
1. Метод-обработчик должен быть описан в форме и реализован.
2. Тип его должен совпадать с ожидаемым у обработчика в компоненте.


DrPass   (2006-07-01 14:28:00) [8]

MyClass.OnClick:=Form1MyClassClick;
что тут может не получиться?


Наверх

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