Autor Beitrag
Askger
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 28.08.08 10:10 
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

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220



BeitragVerfasst: 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ß.

_________________
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: blog.delphi-jedi.net = JEDI API LIB & Windows Security Code Library (JWSCL)
Askger Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 01.09.08 09:24 
Hab nochmal nachgeschaut. Es stimmt es ist keine Fehlermeldung, aber dennoch irgendwie nervig :)