Danke für deine Hilfe!
Ich habe alles so gemacht, wie du es beschrieben hast! Hab auch die gleichen Meldungen gekommen. Man müßte denken, dass eigentlich alles in Ordnung ist...
... aber es ist KEINE Textdatei zu finden!!
In meinem eigentlichen Programm verwende ich keine Stringliste, sondern schreibe die Zeilen mit WriteLn(f,'text'). Doch als ich mein Programm getestet habe, wurde hier auch keine Datei erzeugt:
Delphi-Quellcode:
AssignFile(f,'LogFileName');
If FileExists('LogFileName') Then Append(f) Else ReWrite(f);
darum bin ich dann auf dieses Beispiel umgestiegen, um zu sehen was da nicht funktioniert!
Ich habe mal meinen kompletten Ordner gezipt und angehängt. Es hab es auch mal an einem anderen XP-Rechner getestet und da wurde auch keine Datei erstellt.
Hier nochmal der Programmcode (hab nur den Ordner anders genannt, da ich das Beispiel nochmal neu aufgebaut habe):
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;
type
TTestservice =
class(TService)
procedure ServiceStart(Sender: TService;
var Started: Boolean);
procedure ServiceExecute(Sender: TService);
private
{ Private-Deklarationen }
public
function GetServiceController: TServiceController;
override;
{ Public-Deklarationen }
end;
var
Testservice: TTestservice;
LogFile: TStringList;
implementation
{$R *.DFM}
const LogFileName = '
C:\Testservice\Service_log.txt';
procedure ServiceController(CtrlCode: DWord);
stdcall;
begin
Testservice.Controller(CtrlCode);
end;
function TTestservice.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TTestservice.ServiceExecute(Sender: TService);
begin
while not Terminated
do
begin
ServiceThread.ProcessRequests(true);
// Sleep(5000);
LogFile.Add(DateTimeToStr(Now)+'
OnExecute');
LogFile.SaveToFile(LogFileName);
end;
end;
procedure TTestservice.ServiceStart(Sender: TService;
var Started: Boolean);
begin
LogFile.Add(DateTimeToStr(Now)+'
Service gestartet');
LogFile.SaveToFile(LogFileName);
end;
initialization
LogFile:=TStringList.Create;
finalization
LogFile.Free;
end.