Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.044 c
11-1206617782
Сашик
2008-03-27 14:36
2010.08.27
Форма с полупрозрачной тенью


3-1237562794
SP
2009-03-20 18:26
2010.08.27
Коррелированный запрос UPDATE


15-1270632270
Валерий М.
2010-04-07 13:24
2010.08.27
MySQl Server 4


15-1265718113
Virtus
2010-02-09 15:21
2010.08.27
Активировать окно при наведении мышкой


2-1275655873
SIV5000
2010-06-04 16:51
2010.08.27
Плавная промотка




   Наверх