Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: MemoryStream auf Speicherinhalt?

  Alt 23. Mai 2007, 08:30
Hi!

Du könntest dir eine neue Klasse von TCustomMemoryStream ableiten und deren SetPointer-Methode nutzen.
Zitat von Die Delphi-Hilfe ©Borland:
TCustomMemoryStream.SetPointer Methode

Ersetzt den Speicherpuffer, der mit dem Speicher-Stream verbunden ist.

Klasse
TCustomMemoryStream

Syntax
procedure SetPointer(Ptr: Pointer; Size: Integer); Beschreibung
Mit SetPointer kann der interne Speicherpuffer (Memory) auf den in Ptr übergebenen Wert gesetzt werden. Size ist die Anzahl Bytes, auf die Ptr zeigt.

Nachkommen von TCustomMemoryStream müssen SetPointer verwenden, um den Speicher-Stream mit dem Speicherpuffer zu verbinden, der die Daten für den Speicher-Stream enthält.

Hinweis:
SetPointer gibt den existierenden Wert von Memory (falls vorhanden) nicht frei, wenn der Speicherpuffer ersetzt wird. Nachkommen von TCustomMemoryStream, die mit Hilfe von SetPointer den Speicher-Pool des Streams ersetzen, müssen vor dem entsprechenden Aufruf von SetPointer den Speicher freigeben, auf den die Eigenschaft Memory zeigt.

//edit: alternativ kannst du auch einfach den Speicher auslesen (z.B. in ein Array of Byte) und dann dieses Array versenden
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat