Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme mit TCompressStream (https://www.delphipraxis.net/117859-probleme-mit-tcompressstream.html)

Relicted 26. Jul 2008 17:18


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:
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;
Hier knallt es sowohl bei dem "CopyFrom" als auch bei "WriteBuffer".


Die "SaveToStream" Methode ist aus TStringList bzw. TStrings geklaut.

Delphi-Quellcode:
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));
Die Funktion tut das was sie soll...


Jemand eine Idee wo der Fehler liegt?


Gruß
Reli

Relicted 26. Jul 2008 17:30

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