Einzelnen Beitrag anzeigen

Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

WM_COPYDATA macht große Probleme

  Alt 17. Jul 2006, 14:31
Hallo,

ich möchte von einem Programm zu einem anderen eine Nachricht senden, doch das funktoniert nicht.

Hier mal mein Code:
Delphi-Quellcode:
//die 2. Anwendung
var
  Wnd: HWnd;
  MyCopyDataStruct: TCopyDataStruct;

begin
// Hier stehen noch andere Teile die ein Semaphore erstellen und das Handle (wnd) abfragen
//das funktioniert auch alles nur die Message nicht
If ParamStr(1) <> 'then with MyCopyDataStruct do
  begin
    dwData:=0;
    cbData:=Length(PChar(ParamStr(1))) + 1;
    lpData:=PChar(ParamStr(1));
    SendMessage(Wnd, WM_COPYDATA, Application.Handle, Integer(@MyCopyDataStruct));
  end;

//die 1. Anwedung, die auf die Message eigentlich warten sollte
procedure TForm1.WMCOPYDATA(var Msg: TWMCopyData);
var
  sText: array of Char;

begin
  SetLength(sText,Msg.CopyDataStruct.cbData);
  StrLCopy(PChar(sText), Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
  NewAVObject(PChar(sText)); //Prozedur zu weiteren Verarbeitung
end;
Warum kommt keine Nachricht an? Wird sie gar nicht erst gesendet? Das Handle (Wnd) zu dem die Nachricht gesendet wird stimmt aber.

Ich bin schon seit 3 Tagen am verzweifeln, ich hoffe mir kann jemand helfen.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat