![]() |
[Gelöst] MemoryStream in FileStream EWriteError
Hallo, ich versuche gerade einen MomoryStream in einen Filestream zu schreiben, was ja eigentlich nicht so schwer sein dürfte, also entweder ist hier in FreePascal was anders oder der Fehler liegt woanders.
Delphi-Quellcode:
MemStream.SaveToFile('Neu.dat'); würde zwar gehen, bringt mir aber nichts, weil ich eigentlich mehrere Streams in eine Datei speichern will.
type
TDatensatz = record ID: integer; Name: AnsiString; end; TDatenArray = array of TDatensatz; procedure TForm1.Button1Click(Sender: TObject); var Daten: TDatenArray; MemStream: TMemoryStream; DatStream: TFilestream; I: integer; Len: LongInt; begin SetLength(Daten, 1); Daten[0].ID := 1; Daten[0].Name := 'Ein Name'; MemStream:= TMemoryStream.Create; try Len := Length(Daten); MemStream.Write(Len, SizeOf(Len)); for I := 0 to Length(Daten) - 1 do begin MemStream.Write(Daten[I].ID, SizeOf(Daten[I].ID)); Len := Length(Daten[I].Name); MemStream.Write(Len, SizeOf(Len)); MemStream.Write(PChar(Daten[I].Name)^, Len); end; DatStream.Create('Neu.dat',fmOpenReadWrite); try MemStream.Position:= 0; DatStream.CopyFrom(MemStream, MemStream.Size); //Fehler EWriteError //MemStream.SaveToStream(DatStream); //Fehler EWriteError finally DatStream.Free; end; finally MemStream.Free; end; end; |
AW: MemoryStream in FileStream EWriteError
Schon mal mit fmCreate versucht?
|
AW: MemoryStream in FileStream EWriteError
Hallo
Delphi-Quellcode:
Du erzeugt den Memstream doch gar nicht
Stream := TMemoryStream.Create; ---> stream
try Len := Length(Daten); MemStream.Write(Len, SizeOf(Len)); --->Memstream Gruß Frank |
AW: MemoryStream in FileStream EWriteError
Danke für die schnellen Antworten!
@Uwe Raabe, ja geht leider auch nicht, selber Fehler. @Keldorn, habe ich gerade verbessert, das war nur ein Übernahmefehler, daran liegt es nicht. |
AW: MemoryStream in FileStream EWriteError
Delphi-Quellcode:
:mrgreen:
DatStream := TFileStream.Create( ... );
|
AW: MemoryStream in FileStream EWriteError
Oh ja das hab ich übersehen. Besten Dank !!!:thumb:
Jetzt läuft's ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz