Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.01 c
15-1257870273
И Павел
2009-11-10 19:24
2010.01.10
Видимость слоев


15-1257683780
McSimm
2009-11-08 15:36
2010.01.10
Апгрейд до Windows 7 возможен ?


15-1257859624
XXL
2009-11-10 16:27
2010.01.10
Чем можно отобразить SVG ?


3-1233121999
Merry
2009-01-28 08:53
2010.01.10
Запрос из 2 таблиц


2-1258432086
ℓoℓ
2009-11-17 07:28
2010.01.10
Вопрос о переводе кода (CTL_CODE)




   Наверх