0

我在使用 Delphi 3rd Party 组件 FlexCompress 解压缩文件时遇到问题。下面是代码,代码后面有详细解释:

MyZipReader            := TFlexCompress.Create(myComponent);
MyZipReader.Name       := 'MyReader';
MyZipReader.FileName   := DataPath; //e.g. C:\Users\thisUser\AppData\Local\Temp\ThisTempFolder\ThisZip.zip
MyZipReader.OpenArchive(fmOpenRead);
MyZipReader.BaseDir    := BasePath; //e.g. C:\Users\[...]\ThisTempFolder\UnzipHere\
MyZipReader.CreateDirs := TRUE;
MyZipReader.ExtractCorruptedFiles := TRUE;
MyZipReader.ExtractFiles          := ('*.*');
MyZipReader.closeArchive;

所有文件都将被提取并相应地放置,所以没关系。

但是:所有文件都是空的。没有文字,什么都没有。

我不知道我做错了什么。如果我提取了一个用 Flexcompress 打包的档案,一切都很好,但如果我用外部档案尝试这个,就会发生这种行为。我缺少某种开关吗?我会感激每一个提示或想法!我还尝试了选项ReplaceReadOnlyoverwriteMode. 没有帮助,我没有想法。如果有人知道某种 FlexCompress 论坛,我也会很感激一个链接,也许我可以在那里找到信息?可悲的是,componentAce 似乎没有托管这样的东西。

编辑(2021.12.14 - 1.17pm)在此过程中收集的额外信息:不应将ExtractCorruptedFiles属性设置为 TRUE。extractFiles()这将防止事件处理程序在过程中引发异常

4

0 回答 0