我们有一个线程,它在创建时会启动一个 Word OLE 实例,如下所示:
MSWord:=CreateOleObject('Word.Application');
MSWord.Visible:=FALSE;
document:=MSWord.Documents.Open(Fdocfile);
thisActiveDocument:=MSWord.ActiveDocument;
thisActiveDocument.Save;
document.Close;
MSWord.Quit(FALSE);
我们在一个线程中执行它,这样我们也可以有一个进度条来通知用户幕后正在发生一些事情。(见Delphi OLE 自动化冻结 GUI)
然而,我们现在有一个问题,如果正在打开的文档需要用户干预,例如受密码保护的文档,一旦用户输入密码,线程就会终止,线程 Execute 中的其余代码不会运行。