Форум: "WinAPI";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
ВнизКак грамотно остановить сервис? 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c