IEngineEditor與Start Editing不兼容 的解決方法

  AE93 中,增加了新的編輯處理接口 IEngineEditor ,它的出現極大的簡化了 AE 的編輯功能開發。很多以前需要幾百上千行代碼的編輯功能,現在只需要幾行代碼便可以實現,但在使用它的過程中也發現了一點小問題。

在開發的時候,經常會遇到編輯工具條的開始編輯按鈕( Start Editing )莫名其妙的不可用了,這個問題困擾了我很久,經過自己查找是因爲把 IEngineEditor 接口和 AE 提供的編輯工具條在一個窗體中使用,就可能會引發這種問題,單獨使用編輯工具條不存在這種不可用的現象。

IEngineEditor 接口的實現類 EngineEditorClass 是一個單件類, singleton 類按理說在那裏定義和使用的效果都是一樣的,不會影響其他地方的使用。但我們不太清楚 AE 的開始編輯工具內部是如何判斷可用狀態的而導致其不可用,只能自己尋找解決方法。

經過嘗試後發現, IEngineEditor 接口在創建使用完成之後及時的將其銷燬,就不會引發編輯工具條的失效,因此在使用 IEngineEditor 接口開發的時候一定要注意。

在有如下定義的函數或者類中,

IEngineEditor pEngineEditor = new EngineEditorClass ();

退出時一定要加上

System .Runtime .InteropServices .Marshal .ReleaseComObject (pEngineEditor );

這兩句應該成對出現!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章