3

这个QC报告说Delphi不支持文件共享模式FILE_SHARE_DELETE

http://qc.embarcadero.com/wc/qcmain.aspx?d=45628

我需要将此模式与 TFileStreams 一起使用 - 谁能想到一个不涉及修改库代码或从库中复制大量内容的简单解决方法?

4

1 回答 1

5

QC报告是正确的。 TFileStream(更具体地说,SysUtils.FileOpen()函数)不支持FILE_SHARE_DELETE. 它只支持FILE_SHARE_READFILE_SHARE_WRITE

为了使用超出TFileStream本机支持的共享权限,您必须直接调用 Win32 APICreateFile()函数,然后您可以THandleStream使用CreateFile()返回的句柄构造一个对象。

于 2012-08-28T22:47:16.710 回答