文件读取I/O ERROR 32问题

blue_china 2014-05-07 03:02:34
程序需要读取一个文本文件进行处理,实现代码大致如下:
assignfile(f,'test.txt');
reset(f);
readln(f,s);
...

用来读取未被其它程序打开,或者已经被notepad、word、ultraedit打开的文本文件,一切正常,但用于打开正在由securecrt等软件记录的日志文件,则出现i/o error 32,除非把securecrt关闭,这个文件又可以正常读取,问题应该是由于该文件被占用,我的程序不允许打开它,而这种情况下用ultraedit和notepad还是可以打开这种日志文件的,请教它们是怎么实现的?有何解决办法?

谢谢
...全文
2718 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiantianye 2014-05-12
  • 打赏
  • 举报
回复
以前也遇到这个问题,现在知道了,thank u
blue_china 2014-05-08
  • 打赏
  • 举报
回复
已经解决,使用TFileStream.Create方法
blue_china 2014-05-08
  • 打赏
  • 举报
回复
已经被别的程序用独占模式打开了,我要打开这个文件,请详细说一下怎么用共享模式打开呢?
lhy 2014-05-08
  • 打赏
  • 举报
回复
用共享方式打开文件。
blue_china 2014-05-08
  • 打赏
  • 举报
回复 1
用TFileStream.Create这个方法也试过的,结果也是一样的。。。
aniugee 2014-05-08
  • 打赏
  • 举报
回复
这样试试
var
  F:TFileStream;
begin
  F:=TFileStream.Create('test.txt',fmOpenReadWrite or fmShareDenyNone);
end;

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧