Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Создание нескольких таймеров программно


Автор: oleg2s 20.10.2012, 07:39
Есть массив тапа TTimer. Создаю таймеры и прописываю им процедуру обработки. Она одна на всех. Как определить, какой таймер сработал?
Код

procedure Tform1.OnTimer(Sender: TObject);
begin
...
End;

procedure Tfform1.b_StartClick(Sender: TObject);
var
  I: Integer;
Begin
   for I := 0 to Length(aTimer) - 1 do
        Begin
        aTimer[i] := TTimer.create(Nil);
        aTimer[i].Interval := 1000;
        aTimer[i].OnTimer := OnTimer;
        aTimer[i].Name := 'T' + IntToStr(i);
        aTimer[i].Enabled := True;
        End;
End;

Автор: oleg2s 20.10.2012, 08:01
Вопрос снимается.
В процедуре обработки надо использовать

(Sender as TTimer).Name
или
(Sender as TTimer).Tag
или кому как в голову придет.

Ключевое тут (Sender as TTimer)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)