在VC 6.0上运行一个程序时,弹出对话框:
Debug Assertion Failed!
Program: D:\...\XX.exe
File: C:\program files\microsoft Visual Studio\vc98\atl\include\atlctl.h
Line 842Expression: h!=0
For information on how your program can cause an assertion failure.
See the Visual C++ documentation on asserts.
atlctl.h中从839行开始是这样的:
else
{
    HWND h = CreateControlWindow(hwndParent,rcPos);
    ATLASSERT(h != NULL);
    ATLASSERT(h = m_hWndCD);
    h;
}然后我又在另外一台电脑上测试了下能正常运行,所以不知道是不是VC++ 6.0哪里配置的问题,求高手帮忙,谢谢!!!

解决方案 »

  1.   

    检查一下,你的VC有没有打SP6补丁
      

  2.   

    Debug下call stack窗口看看调用堆栈,找到出错的函数
      

  3.   

    to sendwb:
       请问下在哪检查VC6有没有打补丁啊?我没打过什么补丁
      

  4.   

    To VisualEleven:
        call stack找到的函数是atlctl.h中的函数,不是我自己写的呢,然后在哪调用的我不太清楚,⊙﹏⊙b汗,初学者
      

  5.   

    我在程序里面是调用了自己写的控件,但是ActiveX控件不是在编译的时候自动注册的么?不太懂,求解
      

  6.   

    还没到我写的代码,还在MFC里面自动生成的InitInstance()函数里面的dlg.DoModal();就报错了
      

  7.   

    [email protected],谢谢了哈