Вниз
Скачать: 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-1257523019
Nikols
2009-11-06 18:56
2010.01.10
Программа для удаленного управления.


15-1257285891
McSimm
2009-11-04 01:04
2010.01.10
Об упорных червяках и математике


1-1232969686
Валера
2009-01-26 14:34
2010.01.10
Как узнать версию Office?


15-1257707340
SergP
2009-11-08 22:09
2010.01.10
Реклама. Яндекс Директ и пр...


2-1258470769
valussev@mail.ru
2009-11-17 18:12
2010.01.10
ошибка при запуске с другого пк




   Наверх