Der Thread wird beendet (Thread-Handle ist also ungültig). Danach wird versucht, mit diesem Handle etwas zu machen. Das klappt nicht.
Also
1. Fehler finden.
2. Wenn 1 nicht funktioniert, weiter suchen.
3. Goto 2
4. goto 3
...
...
978. Verwende einen Sentinel:
Der 'Sentinel' ist ein kleines unsichtbares Programm, das auf eine Message 'WM_KILLME = WM_USER + 1234' wartet. Der lparam der Message ist das Applikationshandle der Anwendung, die abgeschossen werden soll. Der Sentinel schießt dann die Anwendung ab.
Die Anwendung, die nicht korrekt terminieren will, schickt im 'OnClose' diese Message raus und sezt 'Action' auf caHide: Der finalization-Code wird nicht ausgeführt, die Software abgeschossen, der Anwender ist zufrieden.
Ok, Dateien werden u.U. nicht geschlossen, Datenbanken (Paradox!!) nicht korrekt geschlossen und das Ganze ist eine 100% bescheuerte Lösung, aber sie funktioniert.
_________________
Na denn, dann. Bis dann, denn.