Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: TidTCP records senden/empfangen

  Alt 6. Aug 2009, 07: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