Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#42

AW: Thread + Timer, Einbinden von TimerThread.pas

  Alt 3. Jan 2018, 18:15
Eine Frage habe ich noch zu diesem ExecuteTimes.

In ExecuteTimed ist eine while-Schleife. Was aber, wenn ich eine Aufgabe habe die von Anfang bis Ende nur einmal durchlaufen soll und wo ich keine Schleife benötige?
Würde man in diesem Falle den Thread dafür erzeugen und sofort terminieren?
In ExecuteTimed steht der Code, der nach Ablauf eines Intervalls ausgeführt werden soll, also dass, was man bei einem gewöhnlichen Timer die Ereignisroutine für OnTimer schreibt. Da macht man dann auch keine Schleife, um auf das nächste Timerereignis zu warten, sondern macht dort nur das, was beim Timerereignis ausgeführt werden soll.

Oder anders: Du musst bei der Nutzung des TTimerThread keine eigene Schleife programmieren.

Statt Deinem ursprünglichen
Delphi-Quellcode:
procedure TMyNormalThread.Execute;
begin
  while not Terminated do
   begin
    Sleep(1000);

    if 1 = 2 then
     // viel zu tun
   end;
end;
machst Du nun
Delphi-Quellcode:
procedure TTimerThread.ExecuteTimed;
begin
  if 1 = 2 then
  // viel zu tun
end;
  Mit Zitat antworten Zitat