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

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

как описать событие OnTimer в таймере созданым програмно [D7, WinXP]


Pierre ©   (2006-08-29 01:15:00) 

Помогити пожилуйста. Пишу шпил и мне необходимо чтобы во время работы проги создавался таймер. Никак немогу правильно сделать описание события OnTimer подскажите как это сделать или хотябы скинте ссылку где прочесть.

P.S.
Я не ленивый просто сроки сдачи проги поджимают и на поиски инфы нет времени. Заранее спасибо всегда ваш Pierre


Ketmar   (2006-08-29 09:51:00) [1]

> [2] Zeqfreed ©   (29.08.06 01:27)
ну зачем людей гадостям учишь? вот так и кочует из программы в программу неверный код (см [3]). %-)


Ketmar   (2006-08-29 09:51:00) [2]

> [5] Ketmar ©   (29.08.06 09:51)
в смысле -- см. [4]. %-)


begin...end   (2006-08-29 08:16:00) [3]

> Zeqfreed ©   (29.08.06 01:27) [2]

Во втором случае процедуру правильнее будет объявить так:

procedure MyOnTimer2( Self,Sender : TObject);


Pierre   (2006-08-29 01:48:00) [4]

ОГРОМНОЕ СПАСИБО


Ketmar   (2006-08-29 01:27:00) [5]

ленивый. пока печатал это, мог найти.
в описании класса формы:
procedure TimerHandler (sender: TObject);

после создания таймера:
timer.OnTimer := TimerHandler;


Zeqfreed   (2006-08-29 01:27:00) [6]

procedure TForm1.MyOnTimer(Sender: TObject);
begin
 Caption := Caption + '.';
 if (length(Caption) > 10) then Caption := '';
end;

procedure MyOnTimer2(Sender : TObject);
begin
 ShowMessageFmt('%d', [(Sender as TTimer).Tag]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 m : TMethod;
 tmp : TTimer;
begin
 with TTimer.Create(Self) do begin
  OnTimer := MyOnTimer;
  Interval := 1000;
  Enabled := true;
 end;

 tmp := TTimer.Create(Self);
 m.Code := @MyOnTimer2;
 m.Data := Pointer(tmp);
 tmp.OnTimer := TNotifyEvent(m);
 tmp.Tag := 5;
 tmp.Interval := 5000;
 tmp.Enabled := true;
end;


Наверх

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