Einzelnen Beitrag anzeigen

Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: TCollection-Object streamen und/od. an anderen Prozess g

  Alt 23. Okt 2008, 18:16
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
  Mit Zitat antworten Zitat