如何通过JEDI的JCLCompression模块在Delphi中生成7z压缩文件?

更新于
2026-10-04 18:17:56
1阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计239个文字,预计阅读时间需要1分钟。

我在尝试使用Delphi 2009创建某些文件的7z存档。代码看起来像是可以工作的,但是生成的7z文件中所有项目的大小都是零。存档中的文件名都是正确的,但它们不应该为零大小。如何使用JCLCompress来解决此问题?

我正在尝试使用Delphi 2009创建某些文件的7z存档.

下面的代码似乎工作,但生成的7z文件中的所有项目都是零大小.存档中的所有文件名都是正确的,但它们不应为零大小.

如何使用JCLCompression将文件正确添加到7z存档?

var fname, archiveFileName: string; arch: TJclUpdateArchive; archiveclass: TJCLUpdateArchiveClass; sr: TSearchRec; begin fname := GetDesktop + 'Support.7z'; archiveclass := GetArchiveFormats.FindUpdateFormat(fname); if not Assigned(archiveclass) then raise Exception.Create('Could not determine the Format of ' + fname); arch := archiveclass.Create(fname); try with arch do begin if FindFirst(uFolder + '*.*', faAnyFile, sr) = 0 then begin repeat AddFile(ExtractFileName(sr.Name), sr.Name); until FindNext(sr) <> 0; FindClose(sr); end; Compress; end; finally arch.free; end; end; 永远不会,因为JCLCompression,我的回答可能完全错误,但是你不必在某个地方指定文件夹吗?您只是添加文件名.

标签:JCL

本文共计239个文字,预计阅读时间需要1分钟。

我在尝试使用Delphi 2009创建某些文件的7z存档。代码看起来像是可以工作的,但是生成的7z文件中所有项目的大小都是零。存档中的文件名都是正确的,但它们不应该为零大小。如何使用JCLCompress来解决此问题?

我正在尝试使用Delphi 2009创建某些文件的7z存档.

下面的代码似乎工作,但生成的7z文件中的所有项目都是零大小.存档中的所有文件名都是正确的,但它们不应为零大小.

如何使用JCLCompression将文件正确添加到7z存档?

var fname, archiveFileName: string; arch: TJclUpdateArchive; archiveclass: TJCLUpdateArchiveClass; sr: TSearchRec; begin fname := GetDesktop + 'Support.7z'; archiveclass := GetArchiveFormats.FindUpdateFormat(fname); if not Assigned(archiveclass) then raise Exception.Create('Could not determine the Format of ' + fname); arch := archiveclass.Create(fname); try with arch do begin if FindFirst(uFolder + '*.*', faAnyFile, sr) = 0 then begin repeat AddFile(ExtractFileName(sr.Name), sr.Name); until FindNext(sr) <> 0; FindClose(sr); end; Compress; end; finally arch.free; end; end; 永远不会,因为JCLCompression,我的回答可能完全错误,但是你不必在某个地方指定文件夹吗?您只是添加文件名.

标签:JCL