Ich verstehe gar nicht, was dieses Gehampel mit den Threads soll.
- Ein Thread sollte sich bei TThread.Terminate von selber auch sauber beenden (muss nicht schlagartig sein, aber er sollte sich ab jetzt nur noch Augen für das Sandmännchen haben)
- TThread.FreeOnTerminate - habe ich mal benutzt, ist aber ewig her, weil es mehr Probleme schafft als wirklich hilft
Solche Threads packt man einfach in eine ganz normale
TObjectList
(ja, OwnsObjects auf True) und wenn diese Threads aus dem Speicher sollen, dann ein ganz lapidares freigeben der Liste.
Ein Thread ruft im Destroy ganz von alleine das
TThread.Terminate auf, dann ein
TThread.WaitFor
.
Fazit: Die Thread-Klasse sauber aufbauen, dann klappt das wie von selber
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)