![]() |
Probleme mit TCompressStream
Nabend!
Bräuchte mal Eure Hilfe - weiß leider nicht weiter. Ich habe eine Klasse, welche Objekte enthält die ich in einer Datei speichern möchte. Möglichst komprimiert. Leider bekomme ich eine Exception beim kopieren des Compressstreams in den FileStream bekomme ich eine Exception - wieso auch immer! "Ungültige Stream Operation". Die Daten werden scheinbar aber geschrieben. Vielleicht kann mir wer sagen woran es liegt?
Delphi-Quellcode:
Hier knallt es sowohl bei dem "CopyFrom" als auch bei "WriteBuffer".
var
coFileOUT : TFileStream; coCompressStream : TCompressionStream; begin result := false; coFileOUT := TFileStream.Create( sFileName, fmCreate ); try coCompressStream := TCompressionStream.Create(clMax, coFileOUT); try Self.SaveToStream( coCompressStream ); coFileOUT.Position := 0; // coFileOUT.WriteBuffer( coCompressStream, coCompressStream.Size ); coFileOUT.CopyFrom(coCompressStream, coCompressStream.Size); finally FreeAndNil( coCompressStream ); end; finally FreeAndNil( coFileOUT ); end; result := true; Die "SaveToStream" Methode ist aus TStringList bzw. TStrings geklaut.
Delphi-Quellcode:
Die Funktion tut das was sie soll...
var
s : string; i: Integer; begin s := ''; // Zusammenbauen von "S" ... eher unwichtig dafür // Und rein in den Stream! coStream.WriteBuffer(Pointer(S)^, Length(S)); Jemand eine Idee wo der Fehler liegt? Gruß Reli |
Re: Probleme mit TCompressStream
o.O manchmal denk ich ich bin zu bräääsig :-)
Ich gebe ja schon im Create das Target an. Vondaher brauch ich auch nix mehr kopieren. Deppert :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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