Delphi 使用JclCompression压缩文件
我正试图用JCL演示使用Delphi 使用JclCompression压缩文件,delphi,compression,delphi-2010,jedi-code-library,Delphi,Compression,Delphi 2010,Jedi Code Library,我正试图用JCL演示使用JclCompression保存(压缩)一个.zip文件。当我按下读写选项卡上的保存按钮时,演示调用: procedure TFormMain.ActionSaveExecute(Sender: TObject); begin (FArchive as TJclCompressArchive).Compress; CloseArchive; end; 当(FArchive作为TJclCompressArchive)。压缩时,它会产生一个异常:“在存档不到位更新后
JclCompression
保存(压缩)一个.zip文件。当我按下读写选项卡上的保存按钮时,演示调用:
procedure TFormMain.ActionSaveExecute(Sender: TObject);
begin
(FArchive as TJclCompressArchive).Compress;
CloseArchive;
end;
当(FArchive作为TJclCompressArchive)。压缩当执行代码>时,它会产生一个异常:“在存档不到位更新后,至少有一个压缩卷无法被替换。”此外,有时当我按下“保存”按钮时,“应用程序没有响应”会出现在表单的标题中,因此我必须关闭演示
这段代码正确吗?还是我必须将其更改为成功压缩并保存zip文件?有没有其他的JclCompression
演示,让我学习如何使用这些类
除了这个问题之外,演示程序似乎工作正常。我可以打开一个zip文件,创建一个新的zip文件,添加文件,从目录中添加文件,提取所选文件,全部提取,以及获取zip文件属性。储蓄似乎是个问题
我在Windows 7上使用Delphi 2010。与绝地jcl压缩库无法打开跨归档文件的问题相同。
您使用的JCL-JVCL版本是有bug的
我建议您将JCL安装升级到当打开要存档的文件进行写入时,我看到了此错误消息,因此您需要提前关闭它们或将它们复制到临时文件夹。此外,如果像我一样使用函数Create7zArchive(),则需要将7z.dll放在bin输出文件夹中。令人遗憾的是,JCL似乎没有使用已经集成在Delphi中的Zlib.pas
JCL 2.7.0.5676(稳定)当提到绝地JCL的问题时,请引用您使用的JCL的确切版本。我使用的是Delphi 2007,Windows 7 x86。