导出函数开始加 AFX_MANAGE_STATE(AfxGetStaticModuleState( ))

解决方案 »

  1.   

    “写了一个直接调用该DLL中的对话框的Exe工程” 资源应该在 dll, 不会是在 exe 吧?
      

  2.   


    当然了,exe工程就是为了测试DLL里的对话框的
      

  3.   

    你是说 资源在 dll了 ?
    那就要:
    AFX_MANAGE_STATE(AfxGetStaticModuleState( )) 了
    以防止系统从 exe 取资源
      

  4.   

    dll 中 每个 与 资源有关的 函数 都要 加。
      

  5.   


    error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义
    fatal error LNK1169: 找到一个或多个多重定义的符号编译出现了这个两个错误
      

  6.   

    "与 资源有关的 函数 " 
    DllMain 你 自己写的 ?
      

  7.   


    DllMain是自动生成的谢谢你的回答,你启发了我,我是这么做的

    HINSTANCE dll_hInstance = GetModuleHandle(_T("RadiationDataTool.dll"));
    AfxSetResourceHandle(dll_hInstance); //切换状态
    CRadiationDataToolDlg dlg;
    dlg.DoModal();
    和你说的原理一样吧
      

  8.   

    http://blog.csdn.net/optman/article/details/332277