我是新手,照着书上的例子编程在对话框上创建一个按钮。编译没有问题,运行时却出现:Debug Assertion Failed!后边还有什么什么wincore.cpp Line:638之类的。调试了一天,也在网络上差了不少资料,有人说是指针或堆栈问题,但没有细说,我还是不大回弄。
我的ide是vs2008。先是创建了一个基本对话框的应用程序Ex_DlgCtrls,然后为CEx_DlgCtrlsDlg类创建了一个CButton类型的成员变量m_btnWnd。接着在Cex_DlgCtrlsDlg的函数OnInitDialog函数中添加了如下代码:
m_btnWnd.Create("你好",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(20,20,120,60),this,201); //创建
CFont *font=this->GetFont();         //获取对话框的字体
m_btnWnd.SetFont(font); //设置控件字体
然后就保存,编译,没有问题。但运行就出了上述说的问题。我跟踪程序时,发现程序运行到上面那三行代码的第一行的时候就出问题了,但不会改。
具体的project我保存在邮箱的附件里了(我不知道为什么不能用这例的附件,只好注册了个邮箱,地址是[email protected],密码123456,里面收件箱名叫“工程代码”的邮件就是了)。
先感谢大家的帮忙了。