使用JclCompression压缩文件



我试图保存(压缩)一个.zip文件使用JclCompression与JCL演示。当我按下Read and Write Tab上的Save按钮时,演示调用:

procedure TFormMain.ActionSaveExecute(Sender: TObject);
begin
  (FArchive as TJclCompressArchive).Compress;
  CloseArchive;
end;

当执行(FArchive as TJclCompressArchive).Compress;时,它会产生一个异常:"在存档不在位置更新后,至少有一个压缩卷无法被替换。"有时当我按下保存按钮时,"应用程序没有响应"出现在表单的标题中,所以我不得不关闭演示。

这个代码是正确的,还是我必须改变它以成功压缩并保存zip文件?是否有其他JclCompression的演示,以便我可以学习如何使用这些类?

除了这个问题,演示似乎工作正常。我可以打开一个zip文件,创建一个新的zip文件,添加文件,从目录中添加文件,解压缩选中的文件,解压缩所有文件,并获得zip文件属性。存钱似乎是个问题。

与jedi-jcl-compression-library- not -open-span -archive-files问题相同。JEDI JCL压缩库不能打开跨归档文件

您使用的JCL-JVCL版本有bug
我建议将JCL安装升级到最新的每日构建

当我想要存档的文件被打开进行写入时,我看到了这个错误消息,所以你需要提前关闭它们或将它们复制到临时文件夹。另外,如果您使用函数Create7zArchive(),因为我需要7z.dll放在您的bin输出文件夹中。很遗憾,JCL似乎不使用Zlib。

JCL 2.7.0.5676 (Stable)

相关内容

  • 没有找到相关文章

最新更新