2008-12-17 81 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安裝程序彈出窗口詢問失蹤擁有
  • 實現超時機制,如果任何模式對話框,要求用戶輸入,將殺死應用程序。原因是有某些類型的彈出窗口不能被壓制(如果您需要更多信息,請詢問)。