2010-10-04 36 views
2

在.NET中使用C#,我試圖在Windows腳本主機的實例上調用IActiveScript.Close關閉IActiveScript引擎拋出E_UNEXPECTED異常

由於我目前正在尋找內存泄漏,我發現我沒有調用這個Close方法,並試圖添加缺少的代碼。所以我加了一個叫Close的方法。

不幸的是,當調用Close方法時,將引發一個COM異常,並將E_UNEXPECTED作爲錯誤代碼。

在關閉引擎之前查詢引擎的腳本狀態,它會返回SCRIPTSTATE_CONNECTED

問:

我怎樣才能優雅地稱之爲IActiveScript.Close沒有得到拋出的異常?

+1

您確定該物件尚未關閉嗎?從文檔中我得到了關於Close已經被調用的想法。 – 2010-10-18 17:16:24

+0

謝謝彼得。可能我在我所稱的功能的順序上做了錯誤的事情。以下答案中的示例按預期工作。 – 2010-10-20 05:57:51

回答

1

(部分)回答我的問題:

我終於成功地建立起一個stand-alone test application,我成功地可以調用IActiveScript.Close方法,也沒有內存泄漏。