Показать сообщение отдельно
  #6  
Старый 22.04.2009, 15:02
zCHIP zCHIP вне форума
Прохожий
 
Регистрация: 22.04.2009
Сообщения: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Karsh
Если кол-во таймеров неизвестно, то придется писать одну процедуру OnTimer, кот. будет менять свое поведение в зависимости от того, какой таймер ее вызвал.
Код:
var
  TimerPool : array of TTimer;

procedure TForm1.TimerProc(Sender: TObject);
begin
  case (Sender as TTimer).Tag of
    0: Label1.Caption:= 'работает 1 таймер';
    1: Label2.Caption:= 'работает 2 таймер';
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLength(TimerPool, 2);
  TimerPool[0]:= TTimer.Create(Self);
  TimerPool[1]:= TTimer.Create(Self);
  TimerPool[0].Tag:= 0;
  TimerPool[1].Tag:= 1;
  TimerPool[0].OnTimer:= TimerProc;
  TimerPool[1].OnTimer:= TimerProc;
end;

Спасибо, очень помогло разобраться.
Ответить с цитированием