Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблема с созданием сервиса (Stopped = False)


2012 ©   (2009-11-20 11:41:00) 

Столкнулся с проблемой в обработчике 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:00) [1]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо