此QC报告称Delphi不支持文件共享模式FILE_SHARE_DELETE
http://qc.embarcadero.com/wc/qcmain.aspx?d=45628
我需要在TFileStreams中使用这种模式 - 任何人都可以想到一个简单的解决方法,它不涉及修改库代码,或者从库中复制大量内容吗?
答案 0 :(得分:4)
质量控制报告是正确的。 TFileStream
(更具体地说,SysUtils.FileOpen()
函数)不支持FILE_SHARE_DELETE
。它仅支持FILE_SHARE_READ
和FILE_SHARE_WRITE
。
为了使用超出TFileStream
原生支持的共享权限,您必须直接调用Win32 API CreateFile()
函数,然后可以使用句柄构造THandleStream
对象CreateFile()
返回。