调用Reset(FText)打开文件,第一次报错

hnu_0720 2016-05-03 09:12:58

function TFileRead.Open: Boolean;
begin
inherited;
Close;
Result := True;
FOpen := False;
FRecordNo := 0;
FEof := True;
if not FileExists(FFileName) then
begin
ShowMessage('文件' + FFileName + '不存在');
Result := False;
Exit;
end;
AssignFile(FText, FFileName);
try
Reset(FText); //第一次调用报错,错误信息为:File not fund,但是文件的确存在,没找到原因,求指导
except
end;
try
Reset(FText);
FEof := System.EOF(FText);
FOpen := True;
except
on e: Exception do
begin
ShowMessage('读取文件' + FFileName + '出错,错误信息' + e.Message);
Result := False;
end;
end;
end;
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2016-05-04
  • 打赏
  • 举报
回复
AssignFile(FText, FFileName);将FFileName与FText变量建立连接。此时,由操作系统调用磁盘文件,速度反应较慢。立即执行 Reset(FText);读方式打开文件。可能是,操作系统未及时建立连接。造成此问题。 你可以出现错误后,再试着执行Reset(FText)。或者在两者之间,加个sleep等待一下试试。 仅个人意见。
  • 打赏
  • 举报
回复
AssignFile(FFileName, FText);
  • 打赏
  • 举报
回复
我错了我错了我错了我错了

16,748

社区成员

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

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