基于MFC在DLL中继承CWnd类后的调用问题?

在DLL中编写CWnd的子类,在其他DLL或EXE调用时出现问题,在不重载Create时,运行中被ASSERT掉;重载Create后编译时表示无法找到Create的函数地址。
求详解!
我想知道是不是工程设置有问题 ,因为链接错误是LNK2001,而且只有Create一个函数有问题,在new出该类的位置并不提示构造函数有链接错误。

PIPIONE
浏览 763回答 3
3回答

一只甜甜圈

创建含有基于MFC扩展的类的DLL,需要使用 Mfc Extension Dll 动态库看看你创建DLL工程时候的设置集中MFCDLL的差别一个是宏定义,一个是入口函数。主要目的是为了保证资源句柄的正确切换,和LIB的链接。修改配置来的麻烦,你重新构建一个DLL工程,然后把先前的文件都加进去即可

人到中年有点甜

你在Create函数未重载的时候调用参数都给了什么?我怀疑你的窗口没有被建立起来,比如说RegisterClass, WndParent,Instance给错了或者为空,就会导致create失败从而在进一步操作的时候(比如说showwindow())引发Assert。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby