【发布时间】:2014-09-23 03:34:15
【问题描述】:
在应用程序中使用 winrar 的免费软件 unrar.dll:http://www.rarlab.com/rar_add.htm 和 XE7
UnRAR.dll 适用于 Windows 软件开发人员的 UnRAR 动态库
当我列出一个 rar 内容(其中的文件列表)时,文件名是正确的,但报告的大小始终为 0。他们自己的 Delphi 演示也这样做,我怀疑它是很久以前用更旧的Delphi 版本。
调用RARReadHeaderEx(hArcData, HeaderData)后,HeaderData UnpSize/UnpSizeHigh (UINT)应该包含文件大小,但调用后两个值都为0。
怎么了?
您可以在上面的链接中找到 delphi 演示,尽管它需要稍作修改才能工作:
OpenArchiveData.ArcName := ArcName;
这一定是
OpenArchiveData.ArcName := NIL;
OpenArchiveData.ArcNameW := PChar(ArcName);
【问题讨论】:
-
为什么将 NIL 设置为字符串类型?因为我不在我的开发机器上,所以我没有对其进行测试,但这可能是原因。
-
不是直接回答您的问题,只是一种解决方法:否则您可以考虑使用 7Zip