Вниз
Скачать: 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.019 c
14-39089
Knight
2004-01-21 14:02
2004.02.13
Как сделать быстрее?


4-39145
diMAN
2003-12-10 19:49
2004.02.13
Локальная группа


1-38774
programania
2004-02-03 18:22
2004.02.13
вывод на form1.canvas


3-38721
Evyshka
2004-01-20 09:31
2004.02.13
Запросик в Paradox


14-39040
able
2004-01-25 18:12
2004.02.13
PHP + Apache




   Наверх