AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Kann man Thread.Terminated ausserhalb des Threads verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Kann man Thread.Terminated ausserhalb des Threads verwenden?

Ein Thema von devidespe · begonnen am 19. Mär 2009 · letzter Beitrag vom 19. Mär 2009
Antwort Antwort
devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

Kann man Thread.Terminated ausserhalb des Threads verwenden?

  Alt 19. Mär 2009, 11:08
Ich habe einen Thread, der kontinuierlich Daten verarbeitet und ein Fenster mit einem Memo, welches eine Instanz des Threads erstellt und mit einem Abbrechen-Schalter den Thread manuell beenden kann:

Delphi-Quellcode:
VAR Th1 : TBeispielThread;

...

PROCEDURE TBeispielForm.AbbrechenClick(Sender: TObject);
BEGIN
  Th1.Terminate;
  Th1.WaitFor;
END;
Nun soll aber für den Fall, dass der Thread die Arbeit erledigt hat, das Fenster automatisch geschlossen werden, und dafür gibt es ja die Terminated-Eigenschaft. Diese ist allerdings nur innerhalb des Threads aufrufbar. Nun wollte ich auf dem Formular einen Timer mit etwa 3 Sekunden einrichten, der jedesmal prüft, ob der Thread geschlossen ist und wenn ja, das Formular mit Close geschlossen wird. Wie kann man das machen bzw. ist dies überhaupt der richtige Weg, auf die Beendigung eines Threads zu warten ?

Danke für die Antworten.
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Kann man Thread.Terminated ausserhalb des Threads verwen

  Alt 19. Mär 2009, 11:24
Hat der Thread nicht ein OnTerminated Event ?
  Mit Zitat antworten Zitat
devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Kann man Thread.Terminated ausserhalb des Threads verwen

  Alt 19. Mär 2009, 11:39
Dieses Ereignis habe ich deswegen noch nicht zugewiesen, da ich ihm nur eine Procedure innerhalb des Threads zuweisen kann.

Ich muss aber aus dem Hauptformular eine Möglichkeit finden, ob der Thread beendet ist, und nicht im Thread selbst...
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat
devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Kann man Thread.Terminated ausserhalb des Threads verwen

  Alt 19. Mär 2009, 11:47
Okay, ich habs doch mit Onterminated gelöst.
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr.
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