Hab mal kurz in die Delphihilfe geschaut:
Zitat:
TStream ist eine abstrakte bzw, rein virtuelle (C++ Terminologie) Klasse. Erstellen Sie keine Instanzen von TStream. Dieser Typ enthält abstrakte bzw. virtuelle Methoden, die überschrieben werden müssen. Abgeleitete Stream-Objekte wie Speicher- und Datei-Streams, die für Stream-Operationen mit Komponenten eingesetzt werden, werden beim Einsatz der globalen Funktionen ReadComponentRes und WriteComponentRes automatisch erstellt. Wenn andere Arten von Informationen in den Stream gestellt werden sollen, wählen Sie eine abgeleitete Klasse, die den jeweiligen Daten- und Speicherbedarf erfüllt. Dazu gehören
TFileStream (zur Bearbeitung von Dateien)
TStringStream (zur Manipulation in-Speicherstrings)
TMemoryStream (zur Bearbeitung von Speicherpuffern)
TBlobStream (für die Arbeit mit BLOB-Feldern)
TWinSocketStream (für das Lesen und Schreiben über eine Socket-Verbindung)
TOleStream (für das Lesen und Schreiben über eine
COM-Schnittstelle)
Wenn das richtig interpretiere, dann empfielt Borland hier dass man ein abgeleitetes Object verwenden. In deinem Falle vielleicht TMemoryStream, wie ich es auch gemacht habe.
Probier das doch mal aus.
Ich denke für eine TStream fehlt ja in deinem Quellcode die Information, wass denn mit den gelesenen Daten zu passieren hat. Sollen die in den Speicher? in ein
OLE-Object? Oder was?
Und um sich mit sowas nicht rumzuschlagen, würde ich einfach das TMemoryStream benutzen. Oder gleich ein TFileStream, das mußt du mal ausprobieren. Bei einem TFileStream übergibst du ja einen Dateinamen. Dann weiß der Stream auch wohin mit den Daten.
Aber ich finde die TMemoryStream.SaveToFile hier einfacher....