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的列表清单。


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