AFX_MANAGE_STATE(AfxGetStaticModuleState()) 与AfxGetResourceHandle()不能混用

新框架调用时一直关闭时报错,一个用的AFX_MANAGE_STATE(AfxGetStaticModuleState());来加载资源,一个就用的下面的来加载导致报错,换成一样的而就行了。使用AFX_MANAGE_STATE(AfxGetStaticModuleState())来加载资源是有些类用这个来加载才行。


    HINSTANCE save_hInstance = AfxGetResourceHandle();
        AfxSetResourceHandle(theApp.m_hInstance);

        。。。。。
        AfxSetResourceHandle(save_hInstance);

 

extern "C" _declspec(dllexport) BOOL XXXX(CMainFrame *pWnd)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    BaseDlg *pDlg = (BaseDlg *)CDialogSize::GetInstance(MAKECLASS(BaseDlg));
    if(pDlg == NULL)
    {
        pDlg = new BaseDlg(pWnd);
        pDlg->Create(BaseDlg::IDD,NULL);
        pDlg->ShowWindow(SW_SHOW);
    }

    return TRUE;
}

extern "C" _declspec(dllexport) void close(void)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    CDialogEx *pDlg = BaseDlg::GetInstance();
    if(pDlg != NULL)
        pDlg->DestroyWindow();
}