【发布时间】:2021-12-10 14:29:47
【问题描述】:
当同一个 exe 可能已经在读/写模式下打开了同一个文件(网络共享)时,我需要以只读模式打开一个文件。我必须至少允许其他用户读取该文件。
许多不同的用户在他们的机器上指向同一个共享文件时会同时启动 EXE。
我正面临"Cannot open file '<file>'. The process cannot access the file because it is being used by another process" 错误。
有什么办法可以解决吗?
以读/写模式打开的代码
TFileStream.Create(<file>, fmOpenReadWrite or fmShareDenyNone);
以只读模式打开的代码
TFileStream.Create(<file>, fmOpenRead);
【问题讨论】:
-
您是否尝试过
fmOpenRead or fmShareDenyNone用于只读文件?文档说:“共享模式必须是以下值之一”,因此必须有fmShare...consts之一。 -
是的@TomBrunberg 有效