1
在Delphi XE(Windows 7 x64)下,以下语句在Delphi XE(Windows 7 x64)下正常运行,但给出了“Exception class EFOpenError with message ...”。它看起来像一个错误。如果是这样,是否有解决方法?在TFileStream的构造函数中指定“FILE_SHARE_READ或FILE_SHARE_WRITE”时,Delphi XE3给出EFOpenError
TFileStream.Create(
'C:\Test.txt'
, fmOpenRead,
// FILE_SHARE_READ);
// FILE_SHARE_WRITE);
FILE_SHARE_READ or FILE_SHARE_WRITE);
非常感谢您的建议!如果它不是bug,那么Delphi XE版本运行良好应该是错误的?另外,“fmShareDenyNone”是“4”,但“FILE_SHARE_READ或FILE_SHARE_WRITE”是“3”,你是否暗示这两个函数相同? (我认为我从一个SO帖子中采用了“FILE_SHARE_READ或FILE_SHARE_WRITE”。) – SOUser
@Xichen - fmShareDenyNone不是4,但是如果它是4还是别的,它会有什么不同? FILE_SHARE_ ..标志用于'CreateFile',它们与TFleStream无关。 –
@XichenLi - 我没有XE3,在XE中第三个构造函数的参数简单地被忽略了。在第二个参数中使用'or'ed fmShareXXX常数。 – kludg