3.1.5、準備卸載你的應用程序

在你的應用程序要從AutoCAD中卸載的時候,你必須清理掉你的自定義類和你在程序加載時註冊的命令,這些操作應該在acrxEntryPoint()函數的AcRx::kUnloadAppMsg消息中處理。或者在哪兒調用一個函數來處理。

卸載一個應用程序:

1、如果你使用acedRegCmds宏或者acedDefun()函數註冊了命令,你應該移除他們。通常ObjectARX命令以組的形式來移除,使用acedRegCmds->removeGroup().函數來移除一個命令組。

2、如果你創建了自定義類,你應該移除他們。使用deleteAcRxClass()函數來將你的自定義類從ObjectARX運行時類結構中移除,移除的時候必須先從派生類先移除,然後移除父類。

3、刪除在程序中建立的任何對象。你沒有辦法告訴AutoCAD移除已經存儲在數據庫中的自定義對象的實例類型。但是當一個應用程序卸載的時候,AutoCAD會自動的把那些類型轉換爲AcDbProxyObject或者 AcDbProxyEntity類型的實例。

4、移除附加到AcDbObject, AcDbDatabase, AcRxDynamicLinker, 或者 AcEditor 對象上面的反應器(AcDbObject上面的永久反應器除外,他會在程序卸載後轉換爲代理對象。)

5、如果你建立以服務名,你應該移除他。使用acrxServiceDictionary->remove()函數來移除你註冊的服務名。相關查看開發者文檔中acrxServiceDictionary的列表清單。


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