Einzelnen Beitrag anzeigen

Benutzerbild von md_mse
md_mse

Registriert seit: 13. Aug 2003
Ort: Berlin
95 Beiträge
 
#2

Re: zlib + stream komprimieren

  Alt 26. Dez 2005, 20:54
In den TCompressionStream kannst du nur schreiben und nicht lesen!
Du versuchst mit
result.CopyFrom(xx, cs.Size); cs.Size-Bytes vom TCompressionStream xx nach result zu kopieren...

Richtig währe da:
Delphi-Quellcode:
function komprimiere(input:TStream):tmemorystream;
var
  xx: TCompressionStream;
begin
   result := tmemorystream.create;
   xx := TCompressionStream.Create(clmax, result);
   xx.CopyFrom(input, input.Size);
   xx.Free; // !! NIcht vergessen, da der interne Buffer des TCompr.Streams sonst nicht geflusht wird
   result.position:=0;
end;
  Mit Zitat antworten Zitat