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:
- Du nutzt die Methode WaitFor der TThread-Klasse.
- Der Thread löst ein Ereignis aus.
- Der Thread schickt an dein Fenster eine Nachricht mit SendMessage.