Forum: Win32/Win64 API (native code)
Delphi
by md_mse,
31. Dez 2005
Warscheinlich kann dir der TDecompresisonStream die Size nicht zurückgeben.
CopyFrom(xx, Orginalgröße);
Die Größe müsstest du dann anders rausbekommen
Forum: Win32/Win64 API (native code)
Delphi
by md_mse,
31. Dez 2005
Nein, diesmal musst du aus "xx" Lesen, und nicht da reinschreiben... :)
result := tmemorystream.create;
xx := TdeCompressionStream.Create(>>>input<<<);
>>>result<<<.CopyFrom(xx, xx.Size);
xx.Free; // !! NIcht vergessen, da der interne Buffer des TCompr.Streams sonst nicht geflusht wird
result.position:=0;
Forum: Win32/Win64 API (native code)
Delphi
by md_mse,
26. Dez 2005
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:
function komprimiere(input:TStream):tmemorystream;
var
xx: TCompressionStream;
begin