我已经阅读了关于这个问题的多个帖子,似乎没有人对我的问题得出正确的结论. (也许我正试图看看最近是否有任何事情出现过.)
我有一个处理承诺的小型慈善应用程序.在这样做时,它需要使用和打印文档.
事实是,如果Word在后台打开,应用程序线程将挂起并且不会响应Word的关闭,我必须手动回滚并关闭单词.当然,一切正常,但我无法保证最终用户将关闭Word,即使我将指令放在用户手册中.
我对速度并不太感兴趣,但我想如果它可以增强,那将是一个不错的小奖励.
是否已为Delphi发布了允许我打开,编辑,打印和保存文档的库?如果没有,有没有办法以这样的方式使用Word Automation,它在打开时不会与Word的另一个打开句柄冲突?
解决方法
如果使用GetActiveOleObject,您将获得正在运行的Word实例.
通过使用CreateOleObject,您将获得一个新实例,不应该被其他正在运行的实例所困扰.
通过使用CreateOleObject,您将获得一个新实例,不应该被其他正在运行的实例所困扰.
如果您使用TWORDApplication,包装器,您可以将ConnectKind设置为ckNewInstance来完成此操作.默认情况下,TWordApplication将尝试连接正在运行的实例.