Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: 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 вся ветка

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-38833
Vi0let
2004-02-04 03:03
2004.02.13
Прога при запуске виснет с экраном 640х480 16 цветов.


1-38820
Merlot
2004-02-03 08:35
2004.02.13
Закрывание программы.


1-38826
scorpi
2004-02-02 08:20
2004.02.13
Значение 1E


14-39084
Agent13
2004-01-22 18:36
2004.02.13
Пиратам - нет!


1-38876
Asd
2004-02-04 21:18
2004.02.13
Не главное окно поверх всех других приложений