![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Событие OnTimer в созданном компоненте [D6, WinXP]
Image © (2006-10-02 11:18:00)Впервые решился написать свой компонент. Компонент на основе 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,
то все комплируется без ошибок, но событие не происходит.
Опыта в в написании компонентов нет, сижу уже с этим таймером уже второй день. Помгите пожалуйста.
Image (2006-10-02 12:10:00) [1]Огромное спасибо Сергей М.
Сергей М. (2006-10-02 12:06:00) [2]
> событие не происходит
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;