Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Verständnisfrage zur Erstellung eines Dienstes

  Alt 27. Jul 2012, 13:23
Hallo,

hab mal eine kleinen Test gebaut:

Delphi-Quellcode:
procedure TService1.ServiceExecute(Sender: TService);
begin
  Timer1.Interval:=10000;
  Timer1.Enabled:=true;
  while not Terminated do
    begin
    ServiceThread.ProcessRequests(True); //false
    //Sleep(10);
    end;
  Timer1.Enabled:=false;
end;

procedure TService1.Timer1Timer(Sender: TObject);
var t:TStringlist;
begin
  t:=TStringlist.Create;
  t.LoadFromFile('C:\Test\Servicetext.txt');
  t.Add(DateTimeTostr(now));
  t.SaveToFile('C:\Test\Servicetext.txt');
  t.Free;
end;
Die Variante von himitsu ist OK, belastet die CPU nicht:
ServiceThread.ProcessRequests(false)+Sleep(10)

Lass ich das Sleep weg, so hab ich direkt 50% CPU Dauerauslastung.

Was auch noch geht (ohne Sleep) ist:
ServiceThread.ProcessRequests(true)

Weiß nicht genau, was der Parameter true statt false bewirkt, so ginge es aber scheinbar auch.
Ralph
  Mit Zitat antworten Zitat