Ich glaube habe den Fehler gefunden.
Ich erstelle ein Event
Delphi-Quellcode:
hEventFree := CreateEvent(nil, False, False, nil);
PostThreadMessage(ThreadId, WM_QUIT, 0, 0);
try
repeat
WaitRe := WaitForSingleObject(hEventFree, 15);
if WaitRe <> WAIT_OBJECT_0 then
WinProcessMessages;
until WaitRe = WAIT_OBJECT_0;
finally
CloseHandle(hEventFree); // hat gefehlt
ThreadId := 0;
end;
wenn der Thread beendet wird setze ich das Event
SetEvent(hEventFree);
Habe das Event
Handle aber nicht freigegeben.
CloseHandle(hEventFree);
jetzt bleibt der Counter constant.
Hoffe das war mein Problem. Oder doch nicht?
Würde mich mal interessieren ob ich richtig liege.
Das man das Event
Handle freigeben muss war mir nicht bekannt.
Auch hier im Forum habe ich noch nicht gelesen das es jemand tut.
Frage mich nur warum hat FastMM4 und oder EurekaLog das nicht erkannt.