Главная страница
    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.47 MB
Время: 0.069 c
15-1268677017
AntonioBanderas
2010-03-15 21:16
2010.08.27
из prn в rtf


15-1267169309
abhtr
2010-02-26 10:28
2010.08.27
Как сложить данные из одной таблицы


2-1269236624
pro_xaoc
2010-03-22 08:43
2010.08.27
Постоянно выскакивает ошибка


15-1271143810
Kerk
2010-04-13 11:30
2010.08.27
А какие есть аналоги visited.ru?


15-1267824608
Юрий
2010-03-06 00:30
2010.08.27
С днем рождения ! 6 марта 2010 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский