Einzelnen Beitrag anzeigen

sunshineh

Registriert seit: 8. Apr 2008
38 Beiträge
 
#11

Re: bekomme den service nicht zum laufen...

  Alt 23. Okt 2008, 12:49
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.
Angehängte Dateien
Dateityp: zip testservice_143.zip (239,6 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat