我用MFC非规则DLL到处了一个对话框类,需要在应用程序中使用这个对话框类对象,但在导入这个类的时候编译器提示DLL中创建的对话框未定义(error C2065: 'IDD_DIALOG1' : undeclared identifier),但我在DLL中已经加入了#include "resource.h",为什么还会提示未定义啊?谢谢了!

解决方案 »

  1.   

    dll当中需要引入自己工程的资源文件,不能用调用dll的应用程序的。
    添加到dll函数当中。
    AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
      

  2.   

    dll中没有添加函数,直接派生于CDIALOG后导出,这句话添加到哪啊?
      

  3.   

    不要直接使用dll中的resource.h, 也不要直接使用dll中的对话框头文件.你可以在dll中导出一个函数, 在这个函数中显示对话框.
    如果一定要使用dll中的对话框头文件, 建议你, dll中资源的头文件不要叫resource.h, 改为另一个名字.