СообЧа > База Знаний > Программирование > Delphi

Вопрос

Создаю динамически в консольном приложениии некий невизуал компонент, к примеру ttimer.

А как создать ему события? :) Кусок кода не помешал бы…

Ответ

Создаешь свой компонент и присваиваешь его событиям свои обработчики. Т.е.

Timer:=TTimer.create(nil);

Timer.OnTimer:=TimerHandler;

где TimerHandler твой обработчик события от таймера. Но тут есть одна хитрость. Она в том, что TimerHandler должен быть не просто процедурой, а МЕТОДОМ класса. Если у тебя не используются классы (имеются в виду твои собственные), то не обходимо создать fake объект:

TFakeClass = class

public

procedure TimerHandler(Sender:TObject);

end;

и тогда пишем:

FakeClass:=TFakeClass.Create;

Timer:=TTimer.create(nil);

Timer.OnTimer:=FakeClass.TimerHandler;

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация