Вниз
Скачать: 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.058 c
15-1165266043
Cerberus
2006-12-05 00:00
2006.12.24
Почему возникает ошибка при попытке чтения блока.


9-1140511827
SDV
2006-02-21 11:50
2006.12.24
Рендер текстуры в текстуру


11-1142092290
Maloric
2006-03-11 18:51
2006.12.24
TKOLFTP


15-1164878438
TUser
2006-11-30 12:20
2006.12.24
Проблема с инсталлятором


2-1165335407
Галинка
2006-12-05 19:16
2006.12.24
События мыши




   Наверх