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