Zitat von
sirius:
Eigentlich sollte getmessage false liefern sobald es eine Message WM_Quit erhält. (Und das hat es in meinem Test auch getan) Deswegen habe ich die Methode Terminate überschrieben um die Message loszuschicken.
Delphi-Quellcode:
try
while getmessage(msg,0,0,0) do //MessageSchleife
begin
messagebox(0, 'dispatching', '', mb_ok);
translatemessage(msg);
dispatchmessage(msg);
end;
finally
messagebox(0, 'loop done', '', mb_ok);
deallocatehwnd(FwndHandle); //Fenster löschen
end;
Delphi-Quellcode:
procedure WMUser(var msg:TMessage); message WM_MMFNOTIFY;
[..]
procedure TSyncerThread.WMUser(var msg: TMessage);
begin
messagebox(0, 'notify', '', mb_ok);
end;
Hab versucht ein WM_MMFNOTIFY an die
Dll zu schicken, woraushin eine Messagebox mit 'notify' kam, kein 'dispatching'....
Schick ich WM_QUIT, bekomm ich garkeine Rückmeldung....
Ich werd noch verrückt :/ Mit Semaphore hats zwar recht gut funktioniert, allerdings kam auch teilweise Müll an........
LG