在Delphi中打开rtf文件会产生错误

在Delphi中打开rtf文件会产生错误,delphi,Delphi,我正在使用以下代码加载RichEdit文件: RichEdit1.Lines.LoadFromFile('xxx.rtf'); 这很有效。但是,当我像这样使用TopEndDialog时: with DlgOpen do if Execute then RichEdit1.Lines.LoadFromFile(FileName); 我遇到了一个问题。文件加载正常,但在桌面上留下以下错误消息: 我正在使用Delphi2010。rtf文件是使用Microsoft Word 2007生成的,我正在

我正在使用以下代码加载RichEdit文件:

RichEdit1.Lines.LoadFromFile('xxx.rtf');
这很有效。但是,当我像这样使用TopEndDialog时:

with DlgOpen do if Execute then RichEdit1.Lines.LoadFromFile(FileName);
我遇到了一个问题。文件加载正常,但在桌面上留下以下错误消息:

我正在使用Delphi2010。rtf文件是使用Microsoft Word 2007生成的,我正在运行Win10。
如何消除错误消息?

如果无法阻止预览程序锁定要读取的文件,我将通过不直接加载该文件而是加载该文件的副本来解决此问题

uses IOUtils; 
....
....
var TempFile: string;
....
if DlgOpen.Execute then
begin
  TempFile := IncludeTrailingPathDelimiter(TPath.GetTempPath) + 'Temp.rtf';
  CopyFile(PChar(DlgOpen.FileName), PChar(TempFile), False);
  RichEdit1.Lines.LoadFromFile(TempFile);
  DeleteFile(TempFile);
end;

在文件对话框中打开预览窗格时,RichEdit无法读取某些RTF文件。我遇到过这种情况,尤其是遇到UTF-8或Unicode文件时。@Rudi我有一些建议。问一下你什么时候有空。这时你的问题周围就有了嗡嗡声。如果你问一下,几个小时后再回来,我们都会离开,你会自己回来的。我不确定你能不能回来。我认为这是办公室的一个根本缺陷,你对此无能为力。我的预感不是很好。我以前在这里见过几次问同样的问题(或类似的问题)。“我不确定我是否有一个好的方法来帮助你。”DavidHeffernan我正在为一个小应用程序编写一个帮助查看器。我将帮助文件的名称链接到应用程序的名称,避免使用文件打开对话框。问题解决了!谢谢。我无法让你的代码工作。但是,运行我的原始代码“使用DlgOpen do if Execute then RichEdit1.Lines.LoadFromFile(FileName);”不会再生成任何错误消息。很奇怪,对不起,问题又来了。这不是你获取临时目录的方式,也不是你在路径中通信的方式。不要构建两次文件名。使用变量。需要更多的关注。@我运行你的代码。它起作用了!但是,现在我的原始代码也没有错误消息。我想不出一个模式。事情似乎是随机发生的。对不起,意思是说合并路径。如何确保GetTempPath以分隔符结尾?