2008-12-17 83 views
0

我正在使用COM组件。有一种方法会对组件进行调用,并且在我的应用程序中多次使用此方法,对于要处理的每个文档,都会调用此方法。调用方法永不返回

一个奇怪的事情发生有时会突然,无所谓的文件处理量,可以处理60,100或300文件之后发生的,或只是不会发生。奇怪的事情:对组件的调用不返回。该方法停留在呼叫线路上。你知道任何可能导致这个问题的COM特性吗?

+0

作为迪沃表示,这不是很清楚,你是否写的COM组件。也许你可以提供额外的上下文? – reuben 2008-12-26 06:03:51

回答

1

从你的问题,我得到你正在做的COM自动化与文件。如果你的COM对象是一个文档处理应用程序(MS Office是否是正确的猜测?),那么应用程序可能会被弹出窗口阻止。

这种现象,当您自动化例如发生相当频繁Word或Excel。你应该做一些事情来解决这个问题(我说的是微软Word这里):通过设置Application.DisplayAlerts

  • 禁用警报相应
  • 安装完整的产品,以避免Windows安装程序弹出窗口询问失踪拥有
  • 实现超时机制,如果任何模式对话框,要求用户输入,将杀死应用程序。原因是有某些类型的弹出窗口不能被压制(如果您需要更多信息,请询问)。