![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамический TTimer - как узнать Tag таймера [D7, XP]
HF-Trade © (2010-04-30 16:52:00)Добрый день.
Создаю таймер(ы)
....
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?
Германн (2010-05-02 02:43:00) [1]
> Германн © (02.05.10 02:40) [10]
>
>
> > Сергей М. © (01.05.10 19:34) [8]
Это, конечно, копейки. Но иногда и копейки имеют вес. :)
Германн (2010-05-02 02:40:00) [2]
> Сергей М. © (01.05.10 19:34) [8]
>
>
> > мне необходимо ..отправлять сообщения, с разными временными
> интервалами
>
>
> Один таймер с периодом срабатывания, кратным всем этим интервалом,
> и набором соответствующих каждому интервалу счетчиков с
> успехом заменяет дивизию таймеров.
Если "период срабатывания" таймера достаточно мал по сравнению с "периодом срабатывания счётчика". Иначе лучше другой TTimer.
HF-Trade (2010-05-01 20:38:00) [3]т.е. счетчики основанные на интервале основного таймера?
ну мб так бы и сделал, но в моем случае - 1-5 таймеров, погоду не делают...
Сергей М. (2010-05-01 19:34:00) [4]
> мне необходимо ..отправлять сообщения, с разными временными интервалами
Один таймер с периодом срабатывания, кратным всем этим интервалом, и набором соответствующих каждому интервалу счетчиков с успехом заменяет дивизию таймеров.
Leonid Troyanovsky (2010-05-01 18:00:00) [5]
> HF-Trade © (01.05.10 17:33) [6]
> Ну к примеру мне необходимо в разные окна(хэндлы храняться
Хранение хендлов не безопасно.
--
Regards, LVT.
HF-Trade (2010-05-01 17:33:00) [6]Ну к примеру мне необходимо в разные окна(хэндлы храняться в ТРекорд) постоянно отправлять сообщения, с разными временными интервалами.
Германн (2010-05-01 02:38:00) [7]
> А хоть бы и два - все равно одним можно обойтись.
+1
Но не совсем всегда.
Сергей М. (2010-04-30 23:32:00) [8]
> HF-Trade © (30.04.10 17:09) [3]
А хоть бы и два - все равно одним можно обойтись.
HF-Trade (2010-04-30 17:09:00) [9]
> MBo © (30.04.10 17:01) [1]
> если без проверки, тоTTimer(Sender).Tag
Млин) Всеж было так просто)
Спасибо)))
> Сергей М. © (30.04.10 17:04) [2]
Ну.... ) Да вообщем то их и немного будет)
Сергей М. (2010-04-30 17:04:00) [10]И куды ж ты столько таймеров насандалил ?
В подавляющем большинстве случаев достаточно всего одного-единственного)
MBo (2010-04-30 17:01:00) [11]если без проверки, то
TTimer(Sender).Tag