封装的dll无法加载界面资源,调用时加入下面这句话
AFX_MANAGE_STATE(AfxGetStaticModuleState());
1.AfxGetStaticModuleState()指向当前模块状态;
2.当前函数调用结束后原模块的状态自动被恢复;
3.用于DLL中所调用MFC函数、类、资源时的模块状态切换;
// //TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
// 则从此 DLL 导出的任何调入
// MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
// 该函数的最前面。
// // 例如: //
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// { // AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // 此处为普通函数体 // } //
// 此宏先于任何 MFC 调用
// 出现在每个函数中十分重要。这意味着
// 它必须作为函数中的第一个语句
// 出现,甚至先于所有对象变量声明,
// 这是因为它们的构造函数可能生成 MFC // DLL 调用。