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

Как создать свой Event?   Найти похожие ветки 

 
WebErr ©   (2004-02-04 17:14) [0]

Вижу код типа:
procedure TSome.DoSomeEvent(Sender: TObject);
begin
if Assigned(FOnSomeEvent) then FOnSomeEvent(Sender);
end;

Ещё раньше вижу в TSome:
property OnSomeEvent: TSomeEvent read FOnSomeEvent write FOnSomeEvent;
Ещё раньше в TSome вижу:
FOnSomeEvent: TSomeEvent;
И всё бы хорошо, но только почему Assigned(FOnSomeEvent) срабатывает?! Ведь FOnSomeEvent используется только в DoSomeEvent и больше нигде в этом Unit"е!
Мне что, также оставить неинициализированную FOnSomeEvent как это сделано в исхониках VCL? Что-то вериться с трудом в такое чудо! Как всё это правильно сделать? И как это там так волшебно получилось?


 
Тимохов ©   (2004-02-04 17:16) [1]

Это же ивент!
Вот его пользователь TSome и зполняет ссылкой на определенный метод.
Про какое волшебство речь?


 
Erik ©   (2004-02-04 17:18) [2]

Бр, а почетче сформулировать можно? Что значть "Assigned(FOnSomeEvent) срабатывает"? Как я подозреваю что то связано с автоматической инитиализацией полей класса.


 
WebErr ©   (2004-02-04 17:23) [3]

[1] Спасибо большое, но мне только что устно объяснили примерно то же самое! :)))



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

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



Память: 0.45 MB
Время: 0.014 c
1-38862
АндрейР
2004-02-02 10:53
2004.02.13
Word.Application


1-38823
SeriousSam
2004-02-02 20:48
2004.02.13
Как сделать чтоб нажатие entera было равно нажатию на Button1?


3-38693
onix
2004-01-21 14:48
2004.02.13
Исполнение процедуры в FB


14-39022
mike-d
2004-01-24 18:39
2004.02.13
Навеянное объявлениями о найме программистов...


14-39041
Goida
2004-01-25 00:10
2004.02.13
Работа с электронной почтой




   Наверх