我正在使用以下代码加载RichEdit文件:
RichEdit1.Lines.LoadFromFile('xxx.rtf');
这很有效。但是当我像这样使用TOpenDialog时:
with DlgOpen do if Execute then RichEdit1.Lines.LoadFromFile(FileName);
我遇到了一个问题。文件加载正常但在桌面上留下以下错误消息:
我正在使用Delphi 2010. rtf文件是使用Microsoft Word 2007生成的,我运行的是Win10。 我怎样才能摆脱错误信息?
答案 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;