Thema: Delphi Service debuggen

Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Service debuggen

  Alt 22. Jul 2005, 08:43
@Olli: Die Unit SvcMgr ist von Borland!

Zum Prinzip:

Delphi geht davon aus, dass der Thread so lange läuft, bis der Dienst angehalten/beendet wird.

Also solltest du keinen Timer verwenden sondern einfach eine Endlosschleife, in der du mit Sleep oder WaitForSinlgeObject/WaitForMultipleObjects auf das nächste Ereignis wartest.

[jetzt muss ich erst noch ein bisschen lesen...]

Also: du packst einfach alles in OnExecute, in der Art:
Delphi-Quellcode:
procedure TService2.ServiceExecute(Sender: TService);
begin
  while not Terminated do
  try
    AssignFile(txt_logfile, 'sensor.log');
    Append(txt_logfile);
    DateSeparator:='/';
    Writeln(txt_logfile, FormatDateTime('yyyy/mm/dd hh:nn:ss',Now));
    Flush(txt_logfile);
    CloseFile(txt_logfile);

    Sleep(1000);
    ServiceThread.ProcessRequests(False);
  except
  end;
end;
Volker
  Mit Zitat antworten Zitat