社区
界面
帖子详情
dlg..DoModal()时弹出断言错误怎么解决?
langtaige1981
2012-09-05 03:16:52
程序还没进入OnInitDialog函数,在构造函数CScaleDlg::CScaleDlg(CWnd* pParent /*=NULL*/)那就死了,看了网上的一些方法,都是检查OnInitDialog函数,但是现在在OnInitDialog函数之前就死了,哪位大侠帮忙分析一下啊?
...全文
751
21
打赏
收藏
dlg..DoModal()时弹出断言错误怎么解决?
程序还没进入OnInitDialog函数,在构造函数CScaleDlg::CScaleDlg(CWnd* pParent /*=NULL*/)那就死了,看了网上的一些方法,都是检查OnInitDialog函数,但是现在在OnInitDialog函数之前就死了,哪位大侠帮忙分析一下啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hlhf73
2012-09-09
打赏
举报
回复
怎么将C程序与MFC混用啊
langtaige1981
2012-09-06
打赏
举报
回复
还没走到,在构造函数里就死了[Quote=引用 14 楼 的回复:]
DoDataExchange 进了吗?
[/Quote]
fronz
2012-09-06
打赏
举报
回复
一般都是后期的语言规范中引用前期的,你在c的主程序里用DoModal().......
这种做法很不平常,所以源程序在编译链接时很容易混乱。
如果不是太繁琐,还是将主程序改为C++/MFC为好
lg0215081
2012-09-06
打赏
举报
回复
检查OnInitDialog()
及该对话框里相关的映射
schlafenhamster
2012-09-06
打赏
举报
回复
上代码
Daisy__Ben
2012-09-06
打赏
举报
回复
呵呵,让我想起曾经也是傻傻分不清。
把弹框的函数OpenTableDlg放在dll里面,导出来。dll是mfc的dll。
worm0336
2012-09-05
打赏
举报
回复
这个对话框的实例没有建立起来,你把整个项目的属性改为c++试试。
写不动代码的人
2012-09-05
打赏
举报
回复
DoDataExchange 进了吗?
langtaige1981
2012-09-05
打赏
举报
回复
这个真的不懂,况且现在开发的是CAD中的一个项目,只能点击菜单启动这个命令,不能用其他的方法[Quote=引用 12 楼 的回复:]
引用 9 楼 的回复:
没听说过都,也不会。现在程序就是这样的,来不及改了
引用 7 楼 的回复:
竟然在.c里面玩MFC的东西,汗。
换个思路吧,直接在代码中用System来启动这个程序不就OK了么?
System就一句话,就能达到你的效果了。后面跟DOS命令啊,在MFC里面启动你的Dialog就可以了
[/Quote]
看不见的裂痕
2012-09-05
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
没听说过都,也不会。现在程序就是这样的,来不及改了
引用 7 楼 的回复:
竟然在.c里面玩MFC的东西,汗。
换个思路吧,直接在代码中用System来启动这个程序不就OK了么?
[/Quote]
System就一句话,就能达到你的效果了。后面跟DOS命令啊,在MFC里面启动你的Dialog就可以了
langtaige1981
2012-09-05
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
你用到了mfc的东西,却没有链接dll。
在项目属性里面,设置一下,动态(静态)链接到dll。
[/Quote]改了之后还是不行,可能还有别的原因
sumos
2012-09-05
打赏
举报
回复
你用到了mfc的东西,却没有链接dll。
在项目属性里面,设置一下,动态(静态)链接到dll。
langtaige1981
2012-09-05
打赏
举报
回复
没听说过都,也不会。现在程序就是这样的,来不及改了[Quote=引用 7 楼 的回复:]
竟然在.c里面玩MFC的东西,汗。
换个思路吧,直接在代码中用System来启动这个程序不就OK了么?
[/Quote]
langtaige1981
2012-09-05
打赏
举报
回复
断言的地方找到了:
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
{ ASSERT(afxCurrentInstanceHandle != NULL);
return afxCurrentInstanceHandle; }
看不见的裂痕
2012-09-05
打赏
举报
回复
竟然在.c里面玩MFC的东西,汗。
换个思路吧,直接在代码中用System来启动这个程序不就OK了么?
langtaige1981
2012-09-05
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:
没有任何引用,是一个空白对话框,只有默认的OK和Cancel两个按钮
重建个对话框 试试
[/Quote]重建了也是这样,试了半天不行,只能请大侠了。按说一个对话框这么简单不应该出现这样的问题
langtaige1981
2012-09-05
打赏
举报
回复
主程序是.C文件,不支持MFC的对话框,为此又新建一个.cpp文件,在.cpp文件里写的以下代码:extern "C" BOOL OpenTableDlg()
{
CScaleDlg dlgForScale;
dlgForScale.DoModal();
return TRUE;
},然后在.c文件里调用OpenTableDlg函数。但是到dlgForScale.DoModal()就弹出断言错误了
gameslq
2012-09-05
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
没有任何引用,是一个空白对话框,只有默认的OK和Cancel两个按钮
[/Quote]
重建个对话框 试试
langtaige1981
2012-09-05
打赏
举报
回复
没有任何引用,是一个空白对话框,只有默认的OK和Cancel两个按钮
看不见的裂痕
2012-09-05
打赏
举报
回复
这个是开头
BOOL CXXXXXApp::InitInstance()
断点打在InitInstance()这里
另外你代码里面有什么其他引用,可以报告下
加载更多回复(1)
对话框在DLL中
DoM
o
dal
()返回-1?
情景:主工程调用封装的DLL,其中...
DoM
o
dal
()总是弹不
出
对话框,
DoM
o
dal
()返回值为-1,开始以为是资源ID等一系列的问题。MFC对话框
DoM
oal返回-1 检查了好几遍,又重新建对话框类,也还不行。但是主工程的对话框可...
C++API【CDialog::
DoM
o
dal
()】【AfxEnableControlContainer 函数】
使用有模式对话框需要注意一些问题,比如说不要在一些反复
出
现的事件处理过程中生成有模式对话框,比如说在定时器中产生有模式对话框,因为在上一个对话框还未退
出
时,定时器消息又会引起下一个对话框的弹
出
。...
MFC扩展dll 加载资源时报AfxGetResourceHandle()
断言
错误
调MFC 扩展dll时发生AfxGetInstanceHandle()
断言
错误
在DLL中启动模态对话框时的
错误
,请高手帮忙 -- 不胜感激
在DLL中启动模态对话框时的
错误
,请高手帮忙 -- 不胜感激 [问题点数:100分,结帖人gwinner] 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 只显示楼主 收藏 g...
(原)CfileDialog 为何抛
出
异常,其实这是mfc 的一个bug
CfileDialog 为何抛
出
异常与一个mfc的宏定义有关如果_WIN32_WINNT 0x0500 这个宏被定义那么就不能再用cfiledialg 了,把这个宏定义去掉则OK 如果程序中确实需要这个宏经过我自己的摸索,下面给
出
三个
解决
的方案: 1...
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章