怎样才能让从自己写的DLL中导出的类的成员函数及变量?? 使用VC扩展动态库将该类输出或使用 VTABLE 机制 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也可以只导出成员,如class CExt {public: AFX_EXT_CLASS CExt(); AFX_EXT_CLASS void SomeFunc();}; 我用的是 _declspec(dllexport)导出的扩展MFC动态连接库的类,但是我看不见它的成员函数。为什么???? 有关类的引出与是否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! 你说的是VC的Statement-auto-complete功能啊,这个功能在工程的.ncb文件被破坏时失效,你可以将之删除在重新load工程试试看,不过前提是你的类及成员必须在.h中有定义。 我想不是.ncb文件的问题,其他的类工作正常,只是从我的DLL导出的类没有。??? 关于这个问题,你看一下Jeffery Richter的<<Windows核心编程>>的第19、20章就明白了!^_^ 不可能!你是如何在程序里定义你的dll导入类的? 在dll中的定义见上面,程序中用#include ""包含头文件后,直接定义,如:CSButton m_btnOk;在用m_btnOk.后,看不见成员列表!!WHY??? //file name:UseCtrl.hpp#include "SupperButton.h"#include "TextButton.h"#include "Report.h"#include "StdAfx.h"#include "Resource.h" 老大,贴这几句话有什么用啊,把引入dll类的头文件的内容贴出来。 #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..... 如何编程实现隐藏桌面指定图标 HID类设备向USB口读写数据?? 100分求Microsoft Windows 2000 服务器端应用程序开发设计指南的源代码 怎样动态创建二级子菜单 控件嵌入到网页下载时的提示应该在哪里加? 视图分割后通信的问题, 关于ODBC编程的问题:每次读取一张表(CRecordSet),都提示要选择数据源 VC中的参数问题 请教各位高手:怎样在状态栏中加进度条? 创建错误!!!!急 怎样升级WIN98 如何用vc在图上以任意角度作文字标注?
class CExt {
public:
AFX_EXT_CLASS CExt();
AFX_EXT_CLASS void SomeFunc();
};
如:
#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!
^_^
CSButton m_btnOk;
在用m_btnOk.后,看不见成员列表!!
WHY???
#include "SupperButton.h"
#include "TextButton.h"
#include "Report.h"
#include "StdAfx.h"
#include "Resource.h"
....
// 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
.....