On Mon, Sep 5, 2016 at 4:33 PM, Michael Van Canneyt <mich...@freepascal.org> wrote: > > What is the stream content ? TGZFile or simply compressed ? If it is > TGZFile, then the header must be skipped before uncompressing data.
Simply compressed. The example is using a file, but the real app uses streams in memory. I can't use TBase64DecodingStream either because it not implements Seek method: function TBase64DecodingStream.Seek(Offset: Longint; Origin: Word): Longint; begin // TODO: implement Seeking in TBase64DecodingStream raise EStreamError.Create('Invalid stream operation'); end; I'm trying to use like this: === begin === var B: TBase64DecodingStream; Src, Dest: TMemoryStream; begin Src := TMemoryStream.Create; Dest := TMemoryStream.Create; B := TBase64DecodingStream.Create(TFileStream.Create('result.txt',fmOpenRead)); try B.SourceOwner:=True; Src.CopyFrom(B,0); if ZUncompressStream(Src, Dest) then Dest.SaveToFile('content2.txt'); Finally Src.Free; Dest.Free; B.Free; end; === end === So, for now I'll continue using the first solution but I would like to use FPC sources if possible, in the future. Regars, Marcos Douglas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal