Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.10;
Скачать: CL | DM;

Вниз

проблема с созданием сервиса (Stopped = False)   Найти похожие ветки 

 
2012   (2009-11-20 11:41) [0]

Столкнулся с проблемой в обработчике OnStop при написании службы. К примеру:


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;

type
 TService1 = class(TService)
   procedure ServiceStop(Sender: TService; var Stopped: Boolean);
 private
   { Private declarations }
 public
   function GetServiceController: TServiceController; override;
   { Public declarations }
 end;

var
 Service1: TService1;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
 Service1.Controller(CtrlCode);
end;

function TService1.GetServiceController: TServiceController;
begin
 Result := ServiceController;
end;

procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
  // ...
  Stopped := False;
  // ...
end;

end.


При попытке остановить службу cо Stopped = False вылетает сообщение: не удалось остановить службу Тестовая служба на Локальный компьютер. Эта служба не возвращала ошибки. Возможно, это внутренняя ошибка Windows или внутренняя ошибка службы.

Далее нажимаю снова остановить. Индикатор остановки службы не доходит до конца, подвисает, но в конечном итоге служба останавливается с занесением в события ошибки.


 
2012   (2009-11-20 12:10) [1]

может не совсем удачно сформулировал вопрос. Нужно в определенные моменты отменять попытки остановки службы.



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

Текущий архив: 2010.01.10;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
15-1257707340
SergP
2009-11-08 22:09
2010.01.10
Реклама. Яндекс Директ и пр...


2-1258445469
Alexey
2009-11-17 11:11
2010.01.10
ParamStr


4-1226515228
АгатаКристи
2008-11-12 21:40
2010.01.10
Настройка TCP/IP


2-1258384893
Кузьма
2009-11-16 18:21
2010.01.10
Работа с отладчиком в Дельфи


1-1232729509
webpauk
2009-01-23 19:51
2010.01.10
Рисование на ListBox.Canvas