Форум: "Компоненты";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
ВнизСобытие OnTimer в созданном компоненте Найти похожие ветки
← →
Image (2006-10-02 11:18) [0]Впервые решился написать свой компонент. Компонент на основе TImge. Подскажите пожалуйста, как создать событие OnTimer.
Когда я делаю так:
........
public
procedure Timer;override;
published
property OnTimer;
он ругается [Error] ImPC.pas(24): Method "Timer" not found in base class.
А когда так:
........
public
procedure Timer;
published
property OnTimer,
то все комплируется без ошибок, но событие не происходит.
Опыта в в написании компонентов нет, сижу уже с этим таймером уже второй день. Помгите пожалуйста.
← →
Сергей М. © (2006-10-02 12:06) [1]
> событие не происходит
TMyImage = class(TImage)
..
private
..
FTimer: TTimer;
FOnTimer: TNotifyEvent;
procedure SetOnTimer(Value: TNotifyEvent);
procedure DoTimer(Sender: TObject);
..
public
..
constructor TMyImage.Create(AOwner: TComponent); override;
..
published
..
property OnTimer: TNotifyEvent read FOnTimer write FOnTimer;
..
end;
....
constructor TMyImage.Create(AOwner: TComponent);
begin
inherited;
FTimer := TTimer.Create(self);
FTimer.OnTimer := DoTimer;
FTimer.Interval := ..;
FTimer.Enabled := True;
end;
procedure TMyImage.DoTimer(Sender: TObject);
begin
if not (csDesigning in ComponentState) and Assigned(FOnTimer) then
FOnTimer(Self);
end;
← →
Image (2006-10-02 12:10) [2]Огромное спасибо Сергей М.
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.049 c