Hallo Meflin,
damit der Service-Manager deinen Dienst in allen Feinheiten steuern kann, musst du auch die korrespondierenden Ereignisse OnStop etc. bedienen. Hier ein Auszug aus einem meiner Dienste:
Delphi-Quellcode:
procedure TObserver.ServiceStop(Sender: TService;
var Stopped: Boolean);
begin
Active := false;
CloseServiceHandle(schService);
CloseServiceHandle(schSCManager);
Stopped := true;
Log('Guardian stopped');
end;
Grüße vom marabu