Erro ao efetuar a descompactação

Delphi

29/05/2006

Peguei o seguinte código para compactação e descompactação:

Insira zLib no Uses da sua Unit...

procedure TForm1.CompressãoClick(Sender: TObject);
var
FileIni, FileOut: TFileStream;
Zip: TCompressionStream;
begin
FileIni:=TFileStream.Create(´C:\pasta\...arquivo a ser comprimido...´, fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create(´C:\pasta\...arquivo comprimido...´, fmCreate or fmShareExclusive);
Zip:=TCompressionStream.Create(clMax, FileOut);
Zip.CopyFrom(FileIni, FileIni.Size);
Zip.Free;
FileOut.Free;
FileIni.Free;
end;

procedure TForm1.DescompressãoClick(Sender: TObject);
var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i: Integer;
Buf: array[0..1023]of Byte;
begin
FileIni:=TFileStream.Create(´C:\pasta\...arquivo comprimido...´, fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create(´C:\pasta\...arquivo descomprimido...´, fmCreate or fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.Free;
end;

Para compactar, funciona beleza e rápido, embora não consiga descompctar com o wwinzip ou winrar.
Ao tentar efetuar a descompactação pelo código acima, o sistema fica em constante processo, chegando a travar.
Existe algum erro neste comando de descompactação ?

Grato pela atenção.


Turbo Drive

Turbo Drive

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

29/05/2006

Quem sabe lhe ajuda:
http://forum.clubedelphi.net/viewtopic.php?t=60429


GOSTEI 0
POSTAR