Zitat von
EagleData:
Und es tritt das gleiche Problem auf. Kann man mit Diensten überhaupt auf Dateien zugreifen?
Logo kann man
Leider kann ich dir wohl kaum weiterhelfen, da ich die Implementation von TService nicht kenne. Aber dennoch.
Wenn ServiceStart (siehe dein Code) dem ServiceMain der
Win32-
API entspricht, machst du etwas grundlegend falsch. In diesem Fall müßte dort eine Schleife stehen, die erst dann abgebrochen wird, wenn der Service gestoppt wird.
Folgende Status-Varianten existieren (ich mache es mal einfach):
1. Gestoppt
2. Gestartet
3. Pausiert
4. Fortgesetzt
1 bedeutet, daß kein Prozess existiert ... um nach 2 zu kommen, wird also ein neuer Prozess gestartet. Du hast also keinen Status der vorigen Instanz (es sei denn du speicherst den ab). Zwischen 3 und 4 kann beliebig hin- und hergeschalten werden, insofern der Service dies unterstützt.
Von 2 auf 1 bedeutet wieder, daß ein Statusverlust eintritt ... und es geht von vorne los.
Vielleicht könnte ich dir helfen, wenn du mir mal den Code der
Unit (mit TService) per PN oder so zuschickst, bin aber nicht sicher.