Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

Замена таймера   Найти похожие ветки 

 
Raduga   (2003-10-16 13:05) [0]

Здравствуйте.
Как можно сделать, чтобы некоторая процедура периодически вызывалась, не используя компонент TTimer. А то у меня есть свой компонент и в нем процедура, которая будет периодически вызываться если пользователь например щелкнул по компоненту, можно в компонент "всунуть" таймер, но если пользователь создаст их штук 20-30, это ж 20-30 таймеров.


 
DVM   (2003-10-16 13:08) [1]

Отдельный поток - в нем цикл - получаешь системное время или GetTickCount и делаешь что надо


 
clickmaker   (2003-10-16 13:11) [2]

> Raduga (16.10.03 13:05)

Можно и одним таймером обойтись. Если интервалы разные, то ставить его на минимум и в нем уже проверять, истек ли нужный интервал и запускать соотв. процедуру


 
Raduga   (2003-10-16 13:12) [3]

>clickmaker © (16.10.03 13:11) [2]
Мне надо чтобы компонент был автономным, и не зависел от внешних таймеров


 
DVM   (2003-10-16 13:15) [4]


> Мне надо чтобы компонент был автономным, и не зависел от
> внешних таймеров

делай SetTimer() / KillTimer - это апишные функции, сам компонент таймер не нужен.


 
Rouse_   (2003-10-16 13:31) [5]

> но если пользователь создаст их штук 20-30, это ж 20-30
> таймеров

А что Вас здесь смущает, боитесь превысить лимит? Я как понял вы хотите сделать чтоб все экземпляра для таймера использовали один?
Ну тогда сделайте у компонента так:

FTimer: TTimer;

property ExternalTimer read FTimer write SetTimer;

procedure SetTimer(const Value: TTimer);
begin .....

В Ваших компонентах появится свойство ExternalTimer которому можно присвоить любой внешний таймер который будет работать одновременно на все компоненты.

Желаю успехов


 
Raduga   (2003-10-16 14:05) [6]

>Rouse_ © (16.10.03 13:31) [5]

>Я как понял вы хотите сделать чтоб все экземпляра для таймера использовали один?
как раз наоборот, чтобы компонент мог самостоятельно периодически вызывать свой метод.


 
Rouse_   (2003-10-16 14:16) [7]

> мог самостоятельно периодически вызывать свой метод
Но чтобы он был один для всех? Если так я привел пример. А если нет то придется для каждого компонента делать свою реализацию таймера как Вы и собирались делать вначале.

> ...пользователь например щелкнул по компоненту...
но если пользователь создаст их штук 20-30, это ж 20-30
> таймеров

А вы стартуйте таймер только когда он нужен, и когда не нужен приостанавливайте. Да и где это видано чтоб он успел щелкнуть одновременно 20-30 компонентов?

Желаю успехов



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

Форум: "WinAPI";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
6-36779
genek84
2003-10-14 13:31
2003.12.12
Как добратся до скрытой папки в делфи


14-36803
Даааа
2003-11-19 16:00
2003.12.12
Это чтоже получается


1-36707
Лана Розанова
2003-11-26 20:38
2003.12.12
ListBox


7-36870
Alibaba
2003-08-20 18:39
2003.12.12
TThread


4-36905
Duncann
2003-10-21 11:57
2003.12.12
Как правильно передать параметры в функцию длл?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский