3
这QC报告说,德尔福不支持文件共享模式FILE_SHARE_DELETE如何使用TFileStream和FILE_SHARE_DELETE?
http://qc.embarcadero.com/wc/qcmain.aspx?d=45628
我需要使用此模式TFileStreams - 谁能想到一个简单的解决办法,不涉及修改库代码或从库中复制大量东西?
这QC报告说,德尔福不支持文件共享模式FILE_SHARE_DELETE如何使用TFileStream和FILE_SHARE_DELETE?
http://qc.embarcadero.com/wc/qcmain.aspx?d=45628
我需要使用此模式TFileStreams - 谁能想到一个简单的解决办法,不涉及修改库代码或从库中复制大量东西?
QC报告是正确的。 TFileStream
(更具体地说,SysUtils.FileOpen()
函数)不支持FILE_SHARE_DELETE
。它仅支持FILE_SHARE_READ
和FILE_SHARE_WRITE
。
为了使用超出TFileStream
原生支持共享权限,你将不得不直接调用Win32 API函数CreateFile()
,那么你就可以建立基于句柄CreateFile()
回报THandleStream
对象。