Ich hatte neulich ein aehnliches Problem, das ich mit
Delphi-Quellcode:
repeat
Application.ProcessMessages;
until Terminated or ButtonGeklickt;
geloest hatte. Das Ganze lief in einem Thread (daher die Abfrage auf Terminated) und sollte auf einen Button warten.
Das Ganze funktionierte zwar zunaechst, stellte sich an anderer Stelle jedoch als unausgegorener Hack heraus (u.a. 100% CPU-Auslastung) und stattdessen wird die Variable jetzt in regelmaessigen Abstaenden mit einem Timer abgefragt
Ich denke, ein Timer ist auch bei deinem Problem angebracht. Der koennte dann sowas testen wie (ungetestet):
Delphi-Quellcode:
if Thread.Terminated then
begin
if Assigned(Thread.FatalException) then
Protokoll('Thread ist gestorben');
end;
Alternativ gibt es auch das OnTerminate-Ereignis, das du dafuer einspannen koenntest.