Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > пишу службу (service)


Автор: AKN 2.2.2006, 16:35
Подскажите - пишу в Делфе службу, а она после 5 секунд работы терминируется. Как быть?

Автор: Guedda 2.2.2006, 16:39
Выложи примерный код... Мы здесь не шаманы.

Автор: AKN 2.2.2006, 16:46
все очень просто: я ловлю сообщение на порт, форматирую строку и вставляю в базу данных. Попутно идет логгирование работы программы (когда открылась, сколько записей сделано и т. д.). На форме все прекрасно работает, а тут... Я так думаю что проблема в настройке самого объекта Tservice - что-то нужно дописать чтобы после окончания WaitHint`а служба продолжила работать. Но что и куда дописывать? Посмотрел в доке там

Код
procedure TService1.ServiceExecute(Sender: TService);
begin
while not Terminated do begin
    ServiceThread.ProcessRequests(True);
end;
end;

Но это событие вообще не наступает

Автор: Snowy 2.2.2006, 17:37
Значит ошибка не здесь.
Вероятно забыл запустить поток сервиса.

Автор: AKN 2.2.2006, 19:13
"Значит ошибка не здесь. Вероятно забыл запустить поток сервиса.
подскажите, а как его запустить?

M
Girder
Поиск... http://forum.vingrad.ru/index.php?act=Search&f=2

Автор: Демо 3.2.2006, 18:24
Цитата(AKN @ 2.2.2006, 20:13 Найти цитируемый пост)

"Значит ошибка не здесь. Вероятно забыл запустить поток сервиса.
подскажите, а как его запустить?


В справке Delphi есть прекрасный пример.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)