在每个使用了Microsoft Foundation Classes (MFC)的模块(EXE,DLL)中,都存在一种“全局”数据,MFC正是依靠这种全局数据才能执行正确的操作。这种全局数据就叫做MFC 模块状态。设计为扩展DLL的ARX应用程序通常假设当前的模块状态是AutoCAD的。应该确认AutoCAD的模块状态已置为当前,ARX应用程序可以通过调用AFX_MANAGE_STATE(AfxGetAppModuleState())来实现这一功能。CacModuleResourceOverride创建一个变量,一个新资源提供者由构造函数交换,缺省资源由析构函数交换。在AutoCAD中,CAcExtensionModule提供AFX_EXTENSION_MODULE结构的位置标识符和追踪模块资源和缺省资源。只有正确处理资源转台才能使ARX程序不出问题。在ARX中加入AC_IMPLEMENT_EXTENSION_MODULE(emx)宏,可以由emx.AttachInstance切换模块资源,由emx..DetachInstance()恢复缺省资源。