Hallo DelphiFan!
Wie Astat schon geschrieben hat, ist WM_COPYDATA aus kompatibilitätsgründen nicht implementiert.
Solltest du es dir selbst einbauen wollen (dafür musst du natürlich die LCL neu kompilieren!) ist es wie folgt zu machen:
In der Datei lcl\interfaces\
win32\win32callback.inc werden in der Funktion WindowProc alle dort nicht angeführten Messages "geschluckt" und nicht an den Window-eigenen Messagehandler weitergeleitet.
Das kann man beheben in dem man in dieser Funktion die WM_COPYDATA nachrüstet.
Such in dieser Funktion nach dem Handling für WM_ACTIVATE und füge für WM_COPYDATA folgendes ein:
Delphi-Quellcode:
WM_COPYDATA: //passthrough of WM_COPYDATA messages for Delphi-Compatibility
begin
LMessage.Msg := Msg;
LMessage.WParam := WParam;
LMessage.LParam := LParam;
WinProcess := false;
end;
Damit funktioniert (das auch von mir sehr exzessiv verwendete) WM_COPYDATA genau gleich wie unter Delphi.
Gruß
GRL