Es gibt eine globale Variable mit der Referenz auf die TThread-Instanz,
aber gleichzeitig wird durch FreeOnTerminate
irgendwann die Instanz gelöscht und diese Variable wird ungültig.
Auf solche Variablen darf man bei Verwendung von FreeOnTerminate eigentlich nie wieder drauf zugreifen (besser es gibt erst garnicht solche Variablen),
es sei denn man gestaltet diese Zugriffe thread-safe (CriticalSection), also um das Auslesen, als auch um das :=nil, welches am Ende des
Threads von Diesem gemacht werden muß.
Auch das extern gespeicherte Thread-
Handle ist nach dem Ende des
Threads ungültig.
Hier könnte man sich via DuplicateHandle ein eigenes
Handle besorgen und damit weiterarbeiten.
Kurz nach Erstellen/Start des
Threads (wenn dieser "garantiert" länger läuft), oder besser innerhalb des
Threads dupplizieren, also so lange das
Thread.Handle garantiert gültig ist.
Ein Therapeut entspricht 1024 Gigapeut.