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

时间:2016-09-02 04:52:18

标签: delphi

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

RichEdit1.Lines.LoadFromFile('xxx.rtf');

这很有效。但是当我像这样使用TOpenDialog时:

with DlgOpen do if Execute then RichEdit1.Lines.LoadFromFile(FileName);

我遇到了一个问题。文件加载正常但在桌面上留下以下错误消息:

error message

我正在使用Delphi 2010. rtf文件是使用Microsoft Word 2007生成的,我运行的是Win10。 我怎样才能摆脱错误信息?

1 个答案:

答案 0 :(得分:0)

如果你无法阻止预览器锁定你想要阅读的文件,我会通过不直接加载该文件而是加载它的副本来解决它。

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;