Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: FreeOnTerminate -> Terminated bleibt stets false

  Alt 16. Apr 2007, 14:02
Nun, überlegen wir mal. Dein Timer fragt ständig den Wert von Terminated ab. Und bekommt auch True zurück so lange der Thread lebt. Der Thread beendet seine Aufgabe und gibt sich selber frei. Welchen Wert hat jetzt wohl die Eigenschaft Terminated von einem Thread-Objekt, welches nicht mehr existiert? Ich würde sagen, du hast noch Glück, dass die keine AccessViolation bekommst.

Du hast drei Möglichkeiten, um benachrichtigt zu werden, ob der Thread mit seiner Aufgabe fertig ist:
  1. Du nutzt die Methode WaitFor der TThread-Klasse.
  2. Der Thread löst ein Ereignis aus.
  3. Der Thread schickt an dein Fenster eine Nachricht mit MSDN-Library durchsuchenSendMessage.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat