![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Timer в Service Application [D7, Win2k, WinXP]
CAMCOH © (2004-08-03 01:53:00)Кто нибудь может подсказать почему в сервисном приложении не срабатывает событие таймера ontimer и как с этим справится ?
andrey__ (2004-08-03 16:12:00) [1]>CAMCOH © (03.08.04 01:53)
>Кто нибудь может подсказать почему в сервисном приложении не >срабатывает событие таймера ontimer и как с этим справится ?
Странно я недавно писал сервисное приложение основная работа которого завязывалась на таймере (событие ontimer) и всё работает - это точно.
У меня [D6, Win2k]
Digitman (2004-08-03 08:43:00) [2]
> Slym © (03.08.04 04:13) [1]
> В сервисе окон НЕТ!
мало ли чего там еще нет !
окно создается при конструировании объекта TTimer
> Поставь у сервиса Interactive... но енто фигня
"А Вы их дустом не пробовали ?"(с)
> CAMCOH © (03.08.04 01:53)
есть не менее чем 2 варианта решения задачи
1. Создай форму с компонентом-таймером в событии TService.OnCreate (уничтожай, соответственно, в TService.OnDestroy)
2. Создай объект TTimer в TService.OnStart (уничтожай, соответственно, в TService.OnStop)
OnExecute либо не назначай вообще либо обрабатывай по нижеследующей схеме :
var
Msg: TMsg;
begin
while not Terminated do
begin
WaitMessage; //ожидание сообщений
.... //здесь можно проверить очередь сообщений на наличие специфических сообщений, определенных алгоритмом тек.сервиса
ServiceThread.ProcessRequests(False); //станд.обработка
end;
end;
Slym (2004-08-03 04:13:00) [3]Удалено модератором