【发布时间】:2016-06-30 06:18:17
【问题描述】:
我使用内部 TZipFile。 当我打开 zip 时,Delphi 似乎只打开它。 只要压缩文件没有被释放,文件访问就会被拒绝
lZipFile := tZipFile.Create;
if lZipFile.IsValid( sPath) then begin
lZipFile.Open( sPath, zmRead );
...
// access denied to sPath
end;
lZipFile.Free;
我只想读书。为什么delphi会这样? 如果我想多次访问一个 zip 文件,那么我必须制作一个本地副本并使用该副本吗?我真的不喜欢这种解决方法。首先,因为 zip 文件可能很大。
知道我可以做些什么来在只读模式下多次访问同一个 zip 文件吗?
【问题讨论】:
-
尝试使用 LZipFile.Open(SPath, zmReadWrite) 见:docwiki.embarcadero.com/Libraries/XE4/en/System.Zip.TZipMode
-
读/写不是正确的模式。这将锁定文件。
-
@DavidHeffernan 我在发表评论 10 分钟后意识到这一点。