Einzelnen Beitrag anzeigen

Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#3

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 12:33
Der Timer braucht ja ein Window-Handle mit dem er dann läuft. Deswegen scheidet die Möglichkeit schonmal aus, einen Timer im Thread zu erstellen.
Ich habe das in einem Projekt bei mir genauso gemacht. In einer Schleife im Thread.Execute wird eine Funktion aufgerufen, die z.B. Daten einliest, und wenn die Funktion durch ist, dann rufe ich ein Sleep auf, und warte einige Zeit. Wenn das Sleep zurück kommt, dann läuft die Schleife weiter. Und damit wäre Dein Thread autark und läuft eigenständig in einer Schleife.

Irgendwie sowas:

Delphi-Quellcode:

procedure TMainThread.Execute;
begin
     FreeOnTerminate := False;
     Try
        While Not Terminated do
        Begin
             meineEinleseFunktion; // <---- Hier wird die Funktion aufgerufen, die die Daten einlesen soll
             Sleep(5000);
        End;
     Except
        On E:Exception do ; // TODO: Exception logging...
     End;
     Terminate;
end;
Christian Rüsken
  Mit Zitat antworten Zitat