使用VC扩展动态库
将该类输出或使用 VTABLE 机制

解决方案 »

  1.   

    也可以只导出成员,如
    class CExt {
    public:
      AFX_EXT_CLASS CExt();
      AFX_EXT_CLASS void SomeFunc();
    };
      

  2.   

    我用的是 _declspec(dllexport)导出的扩展MFC动态连接库的类,但是我看不见它的成员函数。为什么????
      

  3.   

    有关类的引出与是否MFC的扩展DLL无关!一个常规的DLL也可以引出类,一般用这样的方法较好!
    如:
    #ifdef MYDLL_EXPORTS
    #define MYDLL_API __declspec(dllexport)
    #else
    #define MYDLL_API __declspec(dllimport)
    #endif
    然后在DLL的工程中设置Project definations: MYDLL_EXPORTS
    在要引出的类、变量、函数前面添加MYDLL_API就达到了引出的效果!当然如果你用到了MFC的类为父类,那么该DLL还是应当用扩展DLL!
      

  4.   

    你说的是VC的Statement-auto-complete功能啊,这个功能在工程的.ncb文件被破坏时失效,你可以将之删除在重新load工程试试看,不过前提是你的类及成员必须在.h中有定义。
      

  5.   

    我想不是.ncb文件的问题,其他的类工作正常,只是从我的DLL导出的类没有。???
      

  6.   

    关于这个问题,你看一下Jeffery Richter的<<Windows核心编程>>的第19、20章就明白了!
    ^_^
      

  7.   

    不可能!你是如何在程序里定义你的dll导入类的?
      

  8.   

    在dll中的定义见上面,程序中用#include ""包含头文件后,直接定义,如:
    CSButton m_btnOk;
    在用m_btnOk.后,看不见成员列表!!
    WHY???
      

  9.   

    //file name:UseCtrl.hpp
    #include "SupperButton.h"
    #include "TextButton.h"
    #include "Report.h"
    #include "StdAfx.h"
    #include "Resource.h"
      

  10.   

    老大,贴这几句话有什么用啊,把引入dll类的头文件的内容贴出来。
      

  11.   

    #include "..\\UseCtrl\\UseCtrl.hpp"
    ....
    // Dialog Data
    //{{AFX_DATA(CTestButton)
    enum { IDD = IDD_TESTBUTTON_DIALOG };
    CTabCtrl m_Tab;
    CSpinButtonCtrl m_spin;
    CTextButton m_btnCancel;
    CSupperButton m_btn5;//从DLL引入的类;
    CSBtn m_btn2;
    CSBtn m_btn1;
    UINT m_ied;
    //}}AFX_DATA
    .....