Вниз
Скачать: CL | DM;

Как грамотно остановить сервис? Service WinNT   Найти похожие ветки 

← →
Прогер   (2006-08-18 15:39) [0]

После выполнения метода TServiceApplication.DoStop невозможно запустить сервис вновь. В консоли управления сервисами (службами) все кнопки ("запустить", "остановить", ...) становяться недоступными. Пробовал останавливать его if DoStop then Self.Free - результат тот же, не доступны все кнопки управления. Подскажите, как правильно остановить сервис изнутри, в программном коде. Останов нужен тогда, когда возникает некая неприодолимая ошибка - сервис детектирую подобную ситуацию должен произвести остановку.


← →
Чапаев ©   (2006-08-18 15:56) [1]

> В консоли управления сервисами (службами) все кнопки ("запустить",
> "остановить", ...) становяться недоступными.

Почти наверняка это означает, что сервису было отправлено сообщение об остановке, но он так и не остановился.


← →
BiN ©   (2006-08-18 16:19) [2]


> Прогер   (18.08.06 15:39)


В твоем случае: Service1.Status:=csStopped
Если не использовать SvcMgr, то см. SetServiceStatus


← →
BiN ©   (2006-08-18 16:26) [3]


> BiN ©   (18.08.06 16:19) [2]
>

> В твоем случае: Service1.Status:=csStopped
> Если не использовать SvcMgr, то см. SetServiceStatus
>

Хмм, пардон. TService вроде самостоятельно устанавливает свой статус в csStopped по завершении "служебного" потока (в процедуре DoStart).


← →
Прогер   (2006-08-18 17:08) [4]

Service1.Status:=csStopped

Большое спасибо!


procedure TMyService.Stop;
begin
 if DoStop then Self.Status:= csStopped;
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.036 c
2-1165250749
novex
2006-12-04 19:45
2006.12.24
Вычисления А в степени Х


15-1165168106
Агностирующий
2006-12-03 20:48
2006.12.24
О религии.


2-1165308843
Andrey__
2006-12-05 11:54
2006.12.24
Помогите перевести с Pascal на Delphi


4-1155543437
TRyaSS
2006-08-14 12:17
2006.12.24
Как определить состояние принтера(готов, не подключен,...)?


2-1165220683
DevilDevil
2006-12-04 11:24
2006.12.24
Интерфейсы. А надо ли их освобождать?




   Наверх