我有一個帶4個接口的Delphi ActiveX項目。其中兩個爲他們的CoClasses提供了AutoComObject工廠。接口的所有方法都使用safecalls聲明。在與工廠的接口中,如果在任何方法中拋出異常,調用者將收到一個EOleException異常消息,其中包含來自activex中原始異常的異常消息。但在其他兩個接口中,任何異常都會被屏蔽爲EOleException,並將消息屏蔽爲「災難性故障」。COM接口總是屏蔽「災難性故障」的異常消息
任何人都知道爲什麼會發生這種情況,以及如何使原始異常消息不被屏蔽?
謝謝,你的回答很有幫助。爲這兩個類創建一個autoobject工廠,並聲明它們從TAutoObject擴展,而TAutoObject又從TComObject擴展,解決了這個問題。 –