Entwickler-Ecke

Windows API - Service Anwendung - Problem mit Service Beendigung


Askger - Do 28.08.08 10:10
Titel: Service Anwendung - Problem mit Service Beendigung
Ich habe ein Problem mit einer Service Anwendung. Wenn ich mit folgendem Code meine Service Anwendung ausführe und Initialize nicht in die Verzeweigung eintritt bekomme ich die Fehlermeldung, dass sich der Service im Leerlauf befindet und von Windows aus Sicherheitsgründet beendet wird.

Meine Frage ist nun, wie ich meinen Service im Fehlerfall sauber selbst beende?

MfG Askger


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TMyService.ServiceExecute(Sender: TService);
begin
  
  // Vorraussetzungen erfüllt!?
  if Initialize then
  begin
    // Verarbeitung starten
    FMyThread.Resume;

    // Warte auf Beendigung
    while not Terminated do ServiceThread.ProcessRequests(True);
  end;

end;


Dezipaitor - Do 28.08.08 23:53

Steht da wirklich "aus Sicherheitsgründen" ? Soweit ich weiß, sollte da etwas mit "hat sich beendet. Einige Dienste werden automatisch im Leerlauf gestartet ..." oder so ähnlich.
Die Meldung kriegt man nicht weg, soweit ich weiß.


Askger - Mo 01.09.08 09:24

Hab nochmal nachgeschaut. Es stimmt es ist keine Fehlermeldung, aber dennoch irgendwie nervig :)