Einzelnen Beitrag anzeigen

Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#4

Re: WM_COPYDATA zwischen Delphi- und Freepascalprogramm

  Alt 13. Feb 2010, 00:14
Hallo delphifan2004, WM_COPYDATA ist in der LCL wegen Platform Kompatibilität nicht integriert, für Windows musst du

mit SetWindowLong + gwl_WndProc die WndProc anzapfen.

Anbei Sample.

Delphi-Quellcode:

var
  WProc: pointer;

function NewWndProc(Handle: hWnd; Msg, wParam, lParam: Longint): Longint; stdcall;
begin
  if Msg = WM_COPYDATA then begin
    showmessage('Treffer');
  end else
    Result := CallWindowProc(WProc, Handle, Msg, wParam, lParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  WProc := Pointer(SetWindowLong(handle, gwl_WndProc, Integer(@NewWndProc)));
end;
lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat