加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

从其他应用程序加载Log.txt到Memo – Delphi7

发布时间:2020-12-15 04:16:22 所属栏目:大数据 来源:网络整理
导读:我试图将会话日志从其他应用程序(Proxifier)记录到备忘录. 我尝试过使用命令: procedure TForm1.TimerTimer(Sender: TObject);begin Memo1.Lines.LoadFromFile('C:PMASSHProxyfierProfilesLog.txt');end; 但在某些时候我得到一个错误 你能解决我上面的
我试图将会话日志从其他应用程序(Proxifier)记录到备忘录.
我尝试过使用命令:
procedure TForm1.TimerTimer(Sender: TObject);
begin
  Memo1.Lines.LoadFromFile('C:PMASSHProxyfierProfilesLog.txt');
end;

但在某些时候我得到一个错误

你能解决我上面的问题吗?我真的很感激所有答案.

谢谢

解决方法

另一个程序使用共享模式打开文件,该模式不允许其他进程读取它.通常,当其他应用程序写入文件时会发生这种情况.

你可以做很多事情.这是完全正常的行为,是可以预期的.您可以尝试检测错误,等待一小段时间,然后重新尝试.

由于您已经在计时器上运行此功能,因此重试将会发生.所以也许你只需要压制这些例外:

procedure TForm1.TimerTimer(Sender: TObject); 
begin
  try
    Memo1.Lines.LoadFromFile(...);
  except
    on EFOpenError do
      ; //swallow this error
  end;
end;

请注意,检测EFOpenError可能有点粗糙.也许还有其他失败模式会导致该错误.但是,作为第一遍,上面的代码是一个不错的开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读