社区
ATL
帖子详情
atl使用mfc扩展dll
zzf2004
2007-07-01 03:36:44
在atl使用mfc扩张dll,对话框无法显示啊。急啊,大侠救命啊。在线等!
...全文
358
12
打赏
收藏
atl使用mfc扩展dll
在atl使用mfc扩张dll,对话框无法显示啊。急啊,大侠救命啊。在线等!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AgedBOY
2007-07-09
打赏
举报
回复
楼上的回答里面,提到“AFX_MANAGE_STATE(AfxGetStaticModuleState( ))”的,是80%正解。楼主应该采纳。在你的ATL程序里,准备“Create”或者“DoModal”的前面先加上这句!
而剩下的20%是这样,MFC扩展DLL的向导生成代码的注释里明确说了,当MFC扩展DLL的调用者不是MFC EXE,而是MFC DLL时(你的支持MFC的ATL组件相当于MFC DLL),必须将“new CDynLinkLibrary(newlistviewDLL);”这句从DllMain里拿掉。然后单独做一个引出函数如:
void AFX_EXT_API InitMyListViewModule()
{
new CDynLinkLibrary(newlistviewDLL);
}
然后在你的MFC DLL的CWinApp::InitInstance里手动调用这个函数。至此,MFC扩展DLL的链式资源才算是彻底初始化完毕。你的对话框若是再弹不出来,就请你检讨一下最近有没有做什么亏心事了……
Big_Stone
2007-07-05
打赏
举报
回复
关键是你得资源入口没有设置到DLL里边,这个和是什么DLL没有关系,MFC有个宏 AFX_MANAGE_STATE(AfxGetStaticModuleState( ));要不你就用API好象是什么SetResourc...什么都,参数需要你得DLL句柄。
vcPlayer
2007-07-05
打赏
举报
回复
选择了支持mfc没有? 选了。
CWinApp对象有没有? 有
=========================================
笑死我了,不过关注一下。
你的扩展DLL一般是导出资源或类什么的。导出一个类的话,应该用一个超类(全用虚函数,类似于接口)来实现。
Big_Stone
2007-07-05
打赏
举报
回复
关键是你得资源入口没有设置到DLL里边,这个和是什么DLL没有关系,MFC有个宏 AFX_MANAGE_STATE(AfxGetStaticModuleState( ));要不你就用API好象是什么SetResourc...什么都,参数需要你得DLL句柄。
没有设置资源载入的入口点,你的对话框模版就找不到,当然你的对话框就显示不出来了。
xiongwei_1101
2007-07-05
打赏
举报
回复
是声明这个对话框类一个对象在DoModal()
xiongwei_1101
2007-07-05
打赏
举报
回复
直接在资源中NEW一个Dialog,然后给它创建一个DLG类,在你的借口函数里引进这个类就OK啦!声明一个对话框的类,DoModal()就可以显示啦,我最近也刚做完这方面的一个控件,需要的话我可以发给你我做的参考一下,不过要给我点分哦!
珍惜生命远离CPP
2007-07-05
打赏
举报
回复
你的扩展DLL一般是导出资源或类什么的。导出一个类的话,应该用一个超类(全用虚函数,类似于接口)来实现。
================
你怎么知道没有导出全局函数什么的直接使用的东西?
难道非要导出class么?谁规定的?
zzf2004
2007-07-01
打赏
举报
回复
老大救命啊。
zzf2004
2007-07-01
打赏
举报
回复
有
珍惜生命远离CPP
2007-07-01
打赏
举报
回复
CWinApp对象有没有?
zzf2004
2007-07-01
打赏
举报
回复
选了。
珍惜生命远离CPP
2007-07-01
打赏
举报
回复
因为MFC扩展DLL需要一个CWinApp对象
而你的atl工程选择了支持mfc没有?
ATL
窗口实现
2.
ATL
窗口类的
扩展
机制比
MFC
的窗口类
扩展
机制要好。
MFC
的窗口类
扩展
采用的传统的C++的虚函数的机制(除开消息分发部分)。
ATL
采用类模板的机制,在保持面向对象特征的同时具有更高的运行效率。书中的那句例程: ...
VC10+
MFC
100+VC10自带的STL压缩包1
由于
MFC
100废弃了manifest机制,因此用
MFC
100开发的程序只要附带
mfc
100u.
dll
msvcr100.
dll
msvcp100.
dll
等少数几个动态链接库即可(在虚拟机下测试运行正常)。终于找回了VC6的感觉。 受20M限制,此为压缩包1 ...
ATL
——com学习笔记
22 、如何把 Web 页面中用到的图像等外部文件嵌入
DLL
或 Exe ? 23 、如何
使用
#import 指令从文件定位特定类型库资源 ID ? 24 、如何让你的
MFC
类实现 IDispatch 接口? 25 、如何自行管理 IE 缓存目录里的...
vc++ 应用源码包_1
使用
了六个类五个模块类演示了
atl
的调用方法 autoplaysnd mp3 播放器源码 重载了自带的控件进行播放 aviplayer avi播放器源码 引用了
atl
控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#的一...
vc++ 应用源码包_2
使用
了六个类五个模块类演示了
atl
的调用方法 autoplaysnd mp3 播放器源码 重载了自带的控件进行播放 aviplayer avi播放器源码 引用了
atl
控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#的一...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章