dlg..DoModal()时弹出断言错误怎么解决? 程序还没进入OnInitDialog函数,在构造函数CScaleDlg::CScaleDlg(CWnd* pParent /*=NULL*/)那就死了,看了网上的一些方法,都是检查OnInitDialog函数,但是现在在OnInitDialog函数之前就死了,哪位大侠帮忙分析一下啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是否有activex或com控件,没注册?是否资源文件没找到? 这个是开头BOOL CXXXXXApp::InitInstance()断点打在InitInstance()这里另外你代码里面有什么其他引用,可以报告下 没有任何引用,是一个空白对话框,只有默认的OK和Cancel两个按钮 主程序是.C文件,不支持MFC的对话框,为此又新建一个.cpp文件,在.cpp文件里写的以下代码:extern "C" BOOL OpenTableDlg(){ CScaleDlg dlgForScale; dlgForScale.DoModal(); return TRUE;},然后在.c文件里调用OpenTableDlg函数。但是到dlgForScale.DoModal()就弹出断言错误了 竟然在.c里面玩MFC的东西,汗。换个思路吧,直接在代码中用System来启动这个程序不就OK了么? 断言的地方找到了:_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle() { ASSERT(afxCurrentInstanceHandle != NULL); return afxCurrentInstanceHandle; } 你用到了mfc的东西,却没有链接dll。在项目属性里面,设置一下,动态(静态)链接到dll。 System就一句话,就能达到你的效果了。后面跟DOS命令啊,在MFC里面启动你的Dialog就可以了 这个真的不懂,况且现在开发的是CAD中的一个项目,只能点击菜单启动这个命令,不能用其他的方法 呵呵,让我想起曾经也是傻傻分不清。把弹框的函数OpenTableDlg放在dll里面,导出来。dll是mfc的dll。 检查OnInitDialog()及该对话框里相关的映射 一般都是后期的语言规范中引用前期的,你在c的主程序里用DoModal().......这种做法很不平常,所以源程序在编译链接时很容易混乱。如果不是太繁琐,还是将主程序改为C++/MFC为好 CHttpFile 读取网页内容问题 程序使用odbc连接内存不断增长 VS2005下的错误:error C2440 如何定义已知GUID到文件中? VC响应WM_KEYDOWN和WM_KEYUP竟然没有反应?为什么? [求助]本人的程序,客户区双击鼠标左键的问题! 求算法导论指导 dialogbox视窗大小和字型 求教简单的线程问题(急) GAlib中的例子用VC6.0编译的问题 支持VC6.0的SDK包 IOCP服务器端怎么主动关闭连接
是否资源文件没找到?
BOOL CXXXXXApp::InitInstance()断点打在InitInstance()这里另外你代码里面有什么其他引用,可以报告下
{
CScaleDlg dlgForScale;
dlgForScale.DoModal();
return TRUE;
},然后在.c文件里调用OpenTableDlg函数。但是到dlgForScale.DoModal()就弹出断言错误了
换个思路吧,直接在代码中用System来启动这个程序不就OK了么?
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
{ ASSERT(afxCurrentInstanceHandle != NULL);
return afxCurrentInstanceHandle; }
在项目属性里面,设置一下,动态(静态)链接到dll。
System就一句话,就能达到你的效果了。后面跟DOS命令啊,在MFC里面启动你的Dialog就可以了
呵呵,让我想起曾经也是傻傻分不清。把弹框的函数OpenTableDlg放在dll里面,导出来。dll是mfc的dll。
及该对话框里相关的映射
这种做法很不平常,所以源程序在编译链接时很容易混乱。如果不是太繁琐,还是将主程序改为C++/MFC为好