Вниз
Скачать: CL | DM;

Событие MyEvent   Найти похожие ветки 

 
alexnmsk   (2003-12-01 13:18) [0]

Хочу создать собственное событие для компонента. Делаю так:

type
TMyEvent = procedure (Sender: TObject; x, y: Longint) of object;

в описании объекта в разделе private:
FMyEvent: TMyEvent;

в разделе published:
property OnMyEvent: TMyEvent read FMyEvent write FMyEvent;

затем в компоненте вызываю событие:
FMyEvent(Self, x, y);

Вроде все работает, НО только если в основной форме написан обработчик события OnMyEvent, иначе вызов FMyEvent(Self, x, y) дает ошибку.


 
Reindeer Moss Eater ©   (2003-12-01 13:19) [1]

А как бы ты хотел?

Что бы вызывался несуществующий в природе код?


 
Reindeer Moss Eater ©   (2003-12-01 13:20) [2]

Правильнее так
if Assigned(FMyEvent) then FMyEvent(Self, x, y);


 
Silver Alex ©   (2003-12-01 13:27) [3]

делай проверку

if assigned(FMyEvent) then FMyEvent(Self, x, y);

а если в основной форме не написан обработчик события OnMyEvent, то конечно ничего не будет


 
alexnmsk   (2003-12-01 13:31) [4]

Всем спасибо! И правда, чего-й то я?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
14-36826
Tornado
2003-11-19 12:28
2003.12.12
Консольные приложения


1-36625
Ega23
2003-12-03 10:53
2003.12.12
Сохранить картинку в файл.


3-36556
Степан
2003-11-20 19:24
2003.12.12
ADO, пустая таблица


1-36605
Альф
2003-12-01 15:28
2003.12.12
Как програмно закрыть OpenDialog ?


14-36840
Yuri Btr
2003-11-19 13:35
2003.12.12
Почему закрываются ветки ?




   Наверх