Einzelnen Beitrag anzeigen

rab0r

Registriert seit: 11. Apr 2006
10 Beiträge
 
#9

Re: dll als Bindeglied zwischen 2 Programmen

  Alt 1. Feb 2008, 15:32
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
  Mit Zitat antworten Zitat