Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#12

Re: TidTCP records senden/empfangen

  Alt 6. Aug 2009, 08:24
Da Image ein Objekt ist und Objektvariablen nur Referenzen sind (also Zeiger auf einen Speicherbereich wo die eigentlichen Objektdaten liegen) ist SizeOf(image) immer 4. Mit der abgespeicherten Adresse des Objektes kann man aber nichts anfangen.
Das Objekt selbst soll auch nicht geladen werden, sondern nur die enthaltenen Daten.

Wie bei allen Daten mit variabler Länge wird erst die Größe und dann die eigentlichen Daten gespeichert/gelesen.
Delphi-Quellcode:
iLen := Image.Size;
AStream.Write(iLen, SizeOf(iLen));
Image.Position := 0;
AStream.CopyFrom(Image, iLen)


AStream.Read(iLen, SizeOf(iLen));
Image.Clear;
Image.CopyFrom(AStream, iLen);
  Mit Zitat antworten Zitat