Показать сообщение отдельно
  #2  
Старый 22.04.2009, 14:26
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Если кол-во таймеров неизвестно, то придется писать одну процедуру 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;
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием