huhu,
habe nun schon ne ganze weile gesucht aber für mein problem keine lösung gefunden: Ich will eine TCollection-descendant an einen anderen Prozess übergeben.
Mein erster Versuch war das Object über eine WM_CopyData zu übermitteln. Wenn ich jedoch in der in der Nachrichtenbehandlung auf das TCollection-Object zugreife gibts ne
AV.
Was gibt es denn neben der (
dp)Collection für möglichenkeiten eine Object zu exportieren (in einen Stream schreiben)?
Oder geht es vllt. doch mit WM_CopyData und ich stell mich nur zu doof an?
TIA
mein Versuch:
Der "Client"
Delphi-Quellcode:
var
LCDStruct: TCopyDataStruct;
LRes: Integer;
begin
LRes := 0;
LCDStruct.dwData := DAM_daLoad;
LCDStruct.lpData := @ACollection;
LCDStruct.cbData := SizeOf(ACollection);
LRes := SendMessage(AHWnd, WM_COPYDATA, Application.Handle, Integer(@LCDStruct));
Der "Server"
Delphi-Quellcode:
procedure TfrmMain.WMCopyData(
var Msg: TMessage);
begin
MyActiveChild.MyColl.Assign(TMyCollection(PCopyDataStruct(Msg.LParam)^.lpData^)); <- Hier gibts ne
AV
end;