我正在尝试使用Delphi 2009创建某些文件的7z存档. 下面的代码似乎工作,但生成的7z文件中的所有项目都是零大小.存档中的所有文件名都是正确的,但它们不应为零大小. 如何使用JCLCompress
下面的代码似乎工作,但生成的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,我的回答可能完全错误,但是你不必在某个地方指定文件夹吗?您只是添加文件名.