AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Service lässt sich plötzlich nicht mehr dauerhaft starten
Thema durchsuchen
Ansicht
Themen-Optionen

Service lässt sich plötzlich nicht mehr dauerhaft starten

Ein Thema von r29d43 · begonnen am 26. Jan 2008 · letzter Beitrag vom 26. Jan 2008
Antwort Antwort
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#1

Service lässt sich plötzlich nicht mehr dauerhaft starten

  Alt 26. Jan 2008, 13:52
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
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Service lässt sich plötzlich nicht mehr dauerhaft starte

  Alt 26. Jan 2008, 16:48
Ok, ich habe den Fehler zwischenzeitlich durch einen schrittweisen Rückbau des Codes selbst identifiziert und gelöst.


Verursacht wurde das Ganze durch eine Stringliste, die nach ihrer Erzeugung einen (noch) nicht vorhandenen Textfile laden sollte. (Existierte diese Textfile schon, dann kam es zu keinen Problemen -> der Service startete normal dauerhaft).

Abhilfe: das AStringList.LoadFromFile(...) in try & except einkleiden und danach lief wieder alles normal.


Trotzdem Dank für die werte Aufmerksamkeit,

..und event. hat irgendjemand ja mal das gleiche Problem.


PS.
oder kleidet man "AStringList.LoadFromFile(...)" sowieso immer in try & except? Nee, oder?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Service lässt sich plötzlich nicht mehr dauerhaft starte

  Alt 26. Jan 2008, 17:36
Zitat von r29d43:
Abhilfe: das AStringList.LoadFromFile(...) in try & except einkleiden und danach lief wieder alles normal.
Diese Abhilfe finde ich jetzt nicht so prickelnd

Zitat von r29d43:
PS.
oder kleidet man "AStringList.LoadFromFile(...)" sowieso immer in try & except? Nee, oder?
Nein, man prüft vorher, ob die Datei exisistiert (FileExist), und lädt sie nur, wenn das der Fall ist...
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz