在你的應用程序要從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的列表清單。