Einzelnen Beitrag anzeigen

skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

TMemoryStream Create Problem

  Alt 15. Feb 2019, 08:38
Hallo,

in einer eigenen Komponente habe ich TMemorystreams, diese werden im Create erzeugt und im Destroy wieder zerstört.

Nun ist mir aufgefallen, dass die Streams Nil sind, wenn man sie vorher nicht mit irgendwas gefüllt hat!
Das aber führt später zu Laufzeitfehlern (Stream Lesefehler) wenn man auf solch einen Stream zugreifen will.

Folgendes Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ms1 := TMemorystream.Create;
  //ms1 ist jetzt immer noch Nil
  ms1.SetSize(1);
  //jetzt ist der Stream da
  ms1.clear;
  //und jetzt wieder Nil!!!
end;
Das kann doch nicht wahr bzw. gewollt sein!
Eine TStringlist ist nach Erzeugung doch auch nicht Nil oder wird beim Clear zu Nil!

Wie bekomme ich nun Streams die auch leer "vorhanden sind"?


Ciao
Stefan
  Mit Zitat antworten Zitat