mfc dll 中的类调用问题 如和调用的dll中的类 急急急!!!! 我现在创建Mfc 正规dll。在dll中我设计了几个类,有自己写的还有一些对话框类!现在我想在应用程序中调用它门,应该怎么做呢!请大侠给出详解! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用__declspec(dllexport)定义和使用定义文件。 下面先讲使用__declspec(dllexport)的方法:将类定义改为:class __declspec(dllexport) CInDLL 就可以了。(译者:你也许不相信会有这么简单,我也不相信。:-) 这样产生的工程在编译时是正确的但是在使用时会产生错误,因为你包含的头文件中也是使用__declspec(dllexport),而使用这个DLL的工程中并没有引出这个类,而是需要引入这个类)在使用时需要将类定义改为class __declspec(dllimport) CInDLL就可以了。 使用定义文件可以有效的避免这个问题,这种方法是利用宏定义在不同的地方产生不同的编译代码:在头文件中加入如下的代码: #ifdef _CLASSINDLL #define CLASSINDLL_CLASS_DECL __declspec(dllexport) #else #define CLASSINDLL_CLASS_DECL __declspec(dllimport) #endif//将class __declspec(dllexport) CInDLL改为 class CLASSINDLL_CLASS_DECL CInDLL { CInDLL(); ... } 在实现这个类的CPP文件的顶部加入#define _CLASSINDLL语句。 #define _CLASSINDLL CInDLL::CInDLL() { } ... 这样一来在使用这个类时就可以不做任何改动了. 用MFC扩展DLL,然后导出__declspec(dllexport) 对应的类,其他类中就可以调用对应的类了http://dev.yesky.com/90/2320590.shtml 3楼说得对, 要导出类还是用mfc扩展dll吧 windows dll, MFC 普通 dll 和MFC 扩展dll都可以导出类! mfc常规dll一般情况下是不可以导出mfc类及其派生类的 写一个调用函数吧,void mydll(){ CMyDialog dlg; dlg.DoModal();} 多播。windows下可以用,已经调通,然后移到Android的底层就是不行。 如何标记位图的连通区域 dll详细信息 vc的ADO与Access的问题 COLORREF 值怎么转化为十六进制和八进制数值啊? 急,在线等待。。。。。。。。。。 程序退出的一个问题? 如何把变量名当字符串处理,热烈讨论。 回调函数的问题,请帮下忙?kill--ghost! 有谁知道钱龙数据的格式的?格式内容我用记事本打开如下,我可以追加分数!!!:: 关于读取PC机8253计数器0初始值的问题 MFC入门程序提问
#define CLASSINDLL_CLASS_DECL __declspec(dllexport)
#else
#define CLASSINDLL_CLASS_DECL __declspec(dllimport)
#endif
//将class __declspec(dllexport) CInDLL改为
class CLASSINDLL_CLASS_DECL CInDLL { CInDLL(); ... } 在实现这个类的CPP文件的顶部加入#define _CLASSINDLL语句。
#define _CLASSINDLL CInDLL::CInDLL() { } ... 这样一来在使用这个类时就可以不做任何改动了.
http://dev.yesky.com/90/2320590.shtml
void mydll()
{
CMyDialog dlg;
dlg.DoModal();
}