求教文件打开的问题(100分)

  • 主题发起人 主题发起人 yijin
  • 开始时间 开始时间
Y

yijin

Unregistered / Unconfirmed
GUEST, unregistred user!
程序这样打开文件:
filehandle=FileOpen("c://sb_log",fmOpenReadWrite);
然后进行读写。
另外的程序(例如notepad)打开sb_log就不行了,会提示文件被另外程序使用,无法访问。
请问如何才不会使程序独占这个文件呢?
 
用CreateFile函数以打开方式来打开, 共享标志设置为独占。 试一下可否?
 
试试这样:
filehandle=FileOpen("c://sb_log",fmShareDenyNone);
 
用filehandle=FileOpen("c://sb_log",fmShareDenyNone);
写不了文件啊。
 
filehandle :=FileOpen('F:/a.txt',fmOpenReadWrite or fmShareDenyNone);
 
直接用open或者fopen打开。
 
FileHandle := FileOpen(FileName, fmOpenReadWrite or fmShareDenyNone);
if FileHandle > 0 then
//打开成功
else
//打开失败。
 
写独占:fmOpenWrite or fmShareDenyWrite 即可。
共享方式:fmOpenWrite or fmShareDenyWrite 即可。
 
filehandle=FileOpen("c://sb_log",fmOpenReadWrite);
filehandle=FileOpen("c://sb_log",fmShareDenyNone);
filehandle=FileOpen("c://sb_log",fmOpenReadWrite||fmShareDenyNone);
filehandle=FileOpen("c://sb_log",fmShareDenyWrite);
filehandle=FileOpen("c://sb_log",fmOpenWrite);
以上全部试过,
要么能写sb_log,但其他程序就不能读
要么就根本写不了sb_log
我的写是先FileSeek(filehandle,0, 2),然后FileWrite
 
filehandle=FileOpen("c://sb_log",fmOpenReadWrite &&
fmShareDenyNone);
试试以上代码
 
试了一下,其他程序还是不能打开。
 
那你就先打开这个文件,完了,先fileclose,然后再调用其他的程序来打开该文件
 
FileHandle := FileOpen(FileName, fmShareDenyNone)
 
后退
顶部