Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi bekomme den service nicht zum laufen... (https://www.delphipraxis.net/122813-bekomme-den-service-nicht-zum-laufen.html)

sunshineh 23. Okt 2008 11:49

Re: bekomme den service nicht zum laufen...
 
Liste der Anhänge anzeigen (Anzahl: 1)
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.

nahpets 23. Okt 2008 12:14

Re: bekomme den service nicht zum laufen...
 
Hallo,

ich habs:

Delphi-Quellcode:
object Testservice: TTestservice
  OldCreateOrder = False
  DisplayName = 'Testservice'
  Interactive = True
  OnExecute = ServiceExecute // <-- im Objektinspektor nicht zugeordnet
  OnStart = ServiceStart     // <-- im Objektinspektor nicht zugeordnet
  Height = 150
  Width = 215
end
Bei Dir sind im Objektinspektor für OnStart und OnExecute keine Ereignisse zugeordnet.

sunshineh 23. Okt 2008 12:37

Re: bekomme den service nicht zum laufen...
 
Hab vielen TAUSEND DANK!!!!

Da hätt ich doch eigentlich auch selbst drauf kommen können, und das hat mich so viel Nerven gekostet!
Naja, am Abend wird man klug...

Nun hab ich noch ne Menge vor, ich hoffe, mir unterlaufen nicht noch mehr so unverzeiliche Patzer!

DANKE!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz