请不要复制,真正懂得人来说,
网上很多人说 规则的MFC DLL接口中不能有MFC类 要导出的接口返回值也不能是MFC类,
但本人亲测,这句话是错误的,一个规则的MFC Dll
导出一个
CWnd *CreateApi(CWnd *p);
这个导出函数是没有任何问题的,并且可以在其他MFC程序中调用,求大神解释,这两种DLL到底有什么本质的区别?
网上很多人说 规则的MFC DLL接口中不能有MFC类 要导出的接口返回值也不能是MFC类,
但本人亲测,这句话是错误的,一个规则的MFC Dll
导出一个
CWnd *CreateApi(CWnd *p);
这个导出函数是没有任何问题的,并且可以在其他MFC程序中调用,求大神解释,这两种DLL到底有什么本质的区别?
MFC...Extension DLL可以在接口里导出类,只能用Vc++程序调用,不能被别的语言调用。
http://topic.csdn.net/t/20060124/16/4533622.html
大哥看清楚再说,我就是看到别人的解释,认为解释的有问题才来发帖的,其中就是针对你给的链接做的测试,我用规则的MFCDLL 接口中就用的是MFC的类 为什么可以?
哎 说了别复制 还是复制哦
如扩展DLL 你导出一个CMyWnd(继承自CWnd)用这个类类可以创建一个自定义的窗口
而规则的DLL不能导出一个继承自MFC的类只能导出一个C++类
你的意思是说 规则的DLL
class AFX_EXP_CLASS CMyWnd:public CWnd
{
}
不能这样吗?我做过测试,这样是可以的,是我理解错了 还是?求解释
你之所以调用不成功,是因为你资源切换的问题吧,默认的是调用调用DLL的主程序,通过
AFX_MANAGE_STATE(AfxGetStaticModuleState())就能解决了吧
这并不是两种DLL本质的区别吧