Hi,
bei meiner Serviceanwendung, an der ich dieses Service-Thema gerade etwas auskundschaften möchte, lässt sich auf einmal der Service nicht mehr starten, bzw. beendet immer wieder sofort.
Die ganze Zeit davor funktionierte es allerdings ganz normal! Normalerweise startet der Service beim Installieren selbst, mittels eines Servicemanagers, nur eben jetzt leider nicht mehr. Aber auch manuell, über Systemsteuerung>Verwaltung>Dienste, lässt sich der Service nicht mehr starten. Versuche ich letzteres, dann taucht stattdessen immer nur ein Info-Window mit folgendem Inhalt auf:
Zitat:
---------------------------
Dienste
---------------------------
Dienst "Service1" wurde auf "Lokaler Computer" gestartet und dann angehalten. Einige Dienste werden automatisch angehalten, wenn sie sich im Leerlauf befindet, wie z. B. Leistungsprotokoll- und Alarmdienste.
---------------------------
OK
---------------------------
Wenn ich mir über Systemsteuerung>Verwaltung>Dienste mit der rechten Maustaste die Eigenschaften des Dienstes ansehen, dann steht da:
Dienststatus: Beendet
Diesbezüglich habe ich im Objektinspektor auch mal die Properties 'allowPause' und 'allowStop' auf False gesetzt – aber leider ohne Erfolg.
Vielleicht noch etwas grundsätzliches zum Service selbst, welchen ich ursprünglich von
hier abgeleitet habe. Die eigentliche Arbeit, die der Service tätigen soll, ist, auf WindowMessages (WM_WTSSESSION_CHANGE) des Systems zu warten und diese dann in einer WndProc (per AllocateHWnd installiert) darauf zu reagieren. Das alles hat ja bisher auch gut geklappt, nur, wie gesagt, jetzt ist der Service nach einem jeweiligen Installieren leider nicht mehr zu starten bzw. am Laufen zu halten.
In der eigentliche "ServiceExecute"-Methode steht dabei nur noch mehr dieser Mini-Code:
Delphi-Quellcode:
while not Terminated do
begin
ServiceThread.ProcessRequests(true); // mit "true" ist's das gleiche
end;
Hat da event. irgendjemand eine Idee woran das liegen könnte???
Thx schonmal im Voraus