Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо