Hi,
ich habe da mal ein Problemchen an dem ich schon den ganzen halben Tag sitze,
und das Problem ist das "Verschicken" eines dyn. Array of String.
Ich habe schon ein paar Varianten durch die leider nicht funktionieren wollen.
Beispel:
Delphi-Quellcode:
type
TParamList = array of string;
// --- Sender ---
//...
hMainFormWnd := FindWindow('TForm1', 'Test - Application');
//...
begin
if hMainFormWnd <> 0 then
begin
CPData.dwData := 0;
CPData.cbData := sizeof(ParamList);
CPData.lpData := @ParamList[0];
SendMessage(hMainFormWnd, WM_COPYDATA, WPARAM(Application.Handle), LPARAM(@CPData));
end;
end;
//...
// --- Empfänger ----
procedure TForm1.WMCopyData(var Msg: TWMCopyData);
var
aParamList: TParamList;
i, len, size: integer;
begin
len := Msg.CopyDataStruct^.dwData;
//size := Msg.CopyDataStruct^.cbData;
Setlength(aParamList, len);
aParamList := TParamList(Msg.CopyDataStruct^.lpData);
for i := 0 to len-1 do
ListBox1.Items.Add(aParamList[i]);
end;
Leider kommt beim Empfänger immer nur Müll an.