Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Событие 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо