hi,
habe nun versucht die Collection in ein MemoryStream zu schreiben. Soweit sogut. jedoch funktioniert das "Auslesen" nicht. Beim Server versuche ich folgendes:
Delphi-Quellcode:
procedure TfrmMain.WMCopyData(
var Msg: TWMCopyData);
var
LMS: TMemoryStream;
begin
LMS := TMemoryStream(Msg.CopyDataStruct^.lpData^); <- lpData zeigt wo anders hin!??
LMS.Position := 0; <-
AV
end;
lpData zeigt immer auf eine andere Adresse als ich im Client angebe. Deswegen kracht es denn auch mit ner
AV.
Der Cleint macht das:
Delphi-Quellcode:
var
LCDStruct: TCopyDataStruct;
LMS: TMemoryStream;
begin
LMS := TMemoryStream.Create;
try
WriteCollection(LMS, ACollection);
LCDStruct.dwData := DAM_daViewLoad;
LCDStruct.lpData := @LMS;
LCDStruct.cbData := LMS.Size;
LRes := SendMessage(AHWnd, WM_COPYDATA, Application.Handle, Integer(@LCDStruct));
....
end;
weiß jmd. wo mein Fehler liegt?
Shalom