Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Динамический TTimer - как узнать Tag таймера   Найти похожие ветки 

 
HF-Trade ©   (2010-04-30 16:52) [0]

Добрый день.

Создаю таймер(ы)

....
For I:=0 to ListBox1.Items.Count-1 do
 Begin
  Read(FMText,MText);//Это TRecord
  CreateMyTimer(MText.UHandle,StrToInt(MText.Delay));
 end;
CloseFile(FMTExt);
....

Собсно сама процедура создания -

procedure TForm1.CreateMyTimer(MyTag,MyInterval:Integer);
Var
ATimer:TTimer;
begin
 ATimer:=TTimer.Create(Self);
 ATimer.Tag:=MyTag;
 ATimer.OnTimer:=MyTimerEvent;
 ATimer.Interval:=MyInterval;
 ATimer.Enabled:=True;
end;

Удаляю так -

....
  For I:=0 to ListBox1.Items.Count-1 do
   Begin
    Read(FMText,MText);//TRecord
    For N:=0 to Form1.ComponentCount-1 do
     IF Form1.Components[N].Tag=MText.UHandle Then
      Form1.Components[N].Free;
   end;
....

Обработчик таймера -

procedure TForm1.MyTimerEvent(Sender : TObject);
begin
....
Вот тут мне нужно вывести Tag таймера в Memo\Edit
....

Как получить\обратиться в обработчике MyTimerEvent к его Tag?


 
MBo ©   (2010-04-30 17:01) [1]

если без проверки, то
TTimer(Sender).Tag


 
Сергей М. ©   (2010-04-30 17:04) [2]

И куды ж ты столько таймеров насандалил ?
В подавляющем большинстве случаев достаточно всего одного-единственного)


 
HF-Trade ©   (2010-04-30 17:09) [3]


> MBo ©   (30.04.10 17:01) [1]
> если без проверки, тоTTimer(Sender).Tag

Млин) Всеж было так просто)
Спасибо)))


> Сергей М. ©   (30.04.10 17:04) [2]

Ну.... ) Да вообщем то их и немного будет)


 
Сергей М. ©   (2010-04-30 23:32) [4]


> HF-Trade ©   (30.04.10 17:09) [3]


А хоть бы и два - все равно одним можно обойтись.


 
Германн ©   (2010-05-01 02:38) [5]


> А хоть бы и два - все равно одним можно обойтись.

+1
Но не совсем всегда.


 
HF-Trade ©   (2010-05-01 17:33) [6]

Ну к примеру мне необходимо в разные окна(хэндлы храняться в ТРекорд) постоянно отправлять сообщения, с разными временными интервалами.


 
Leonid Troyanovsky ©   (2010-05-01 18:00) [7]


> HF-Trade ©   (01.05.10 17:33) [6]

> Ну к примеру мне необходимо в разные окна(хэндлы храняться

Хранение хендлов не безопасно.

--
Regards, LVT.


 
Сергей М. ©   (2010-05-01 19:34) [8]


> мне необходимо ..отправлять сообщения, с разными временными интервалами


Один таймер с периодом срабатывания, кратным всем этим интервалом, и набором соответствующих каждому интервалу счетчиков с успехом заменяет дивизию таймеров.


 
HF-Trade ©   (2010-05-01 20:38) [9]

т.е. счетчики основанные на интервале основного таймера?
ну мб так бы и сделал, но в моем случае - 1-5 таймеров, погоду не делают...


 
Германн ©   (2010-05-02 02:40) [10]


> Сергей М. ©   (01.05.10 19:34) [8]
>
>
> > мне необходимо ..отправлять сообщения, с разными временными
> интервалами
>
>
> Один таймер с периодом срабатывания, кратным всем этим интервалом,
>  и набором соответствующих каждому интервалу счетчиков с
> успехом заменяет дивизию таймеров.

Если "период срабатывания" таймера достаточно мал по сравнению с "периодом срабатывания счётчика". Иначе лучше другой TTimer.


 
Германн ©   (2010-05-02 02:43) [11]


> Германн ©   (02.05.10 02:40) [10]
>
>
> > Сергей М. ©   (01.05.10 19:34) [8]

Это, конечно, копейки. Но иногда и копейки имеют вес. :)



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.066 c
2-1269823057
Вася
2010-03-29 04:37
2010.08.27
Свой обработчик для динамически созданного компонента


2-1267253002
Tonick
2010-02-27 09:43
2010.08.27
DBGridEh


15-1270049066
Чайник
2010-03-31 19:24
2010.08.27
Сколько на самом деле человек вКонтакте?


2-1274791952
DROWSY
2010-05-25 16:52
2010.08.27
Как симмитировать нажатие эскейпа на гриде?


2-1274247722
Petr
2010-05-19 09:42
2010.08.27
как обратиться к полю в базе