Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Thread + Timer, Einbinden von TimerThread.pas (https://www.delphipraxis.net/181814-thread-timer-einbinden-von-timerthread-pas.html)

LTE5 3. Jan 2018 15:56

AW: Thread + Timer, Einbinden von TimerThread.pas
 
Ich habe keinen. Es war nur eine Frage für die Zukunft.

Delphi.Narium 3. Jan 2018 17:15

AW: Thread + Timer, Einbinden von TimerThread.pas
 
Zitat:

Zitat von LTE5 (Beitrag 1390236)
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;

LTE5 3. Jan 2018 17:37

AW: Thread + Timer, Einbinden von TimerThread.pas
 
Wurden dir die neuen Antworten nicht angezeigt?
Die Schleife ist schon lange weg.

Delphi.Narium 3. Jan 2018 18:16

AW: Thread + Timer, Einbinden von TimerThread.pas
 
Und was schriebst Du hier (ca. 3 Posts vor meiner Antwort)?
Zitat:

Zitat von LTE5 (Beitrag 1390236)
In ExecuteTimed ist eine while-Schleife.

Das klingt wie eine Feststellung.
In ExecuteTimed ist aber keine while-Schleife erforderlich.

LTE5 3. Jan 2018 18:56

AW: Thread + Timer, Einbinden von TimerThread.pas
 
Wie wärs damit: ich meinte Execute und nicht ExecuteTimed.
Ist doch jetzt aber auch egal. Es klappt, fertig aus ende.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.
Seite 5 von 5   « Erste     345   

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