我主程序调用一个非模态对话框,直接在主程序aa.h里面声明了一个成员变量 bb *pbb;
然后在aa.cpp里的某一个函数弹出非模态对话框
pbb = new bb();
pp->create(ID资源号,this);有个问题很奇怪,我在DEBUG下就会出现一个断言,而在release下就不会出现.
有没有人遇到过类似的问题,求请教.

解决方案 »

  1.   

    断言只有Debug版才起作用的。所以Release没。
      

  2.   

    调试运行,发生断言失败时候,点Break,就能断下来。看看问题所在。
      

  3.   

    aa没有窗口的话pp->create(ID资源号);
    把this去掉,可能会有assert(iswindow(...))的判断。
    另外你可以看看断言在什么地方。
      

  4.   

    断言处代码
    CHandeMap *pMap  = afxMapHWND();
    ASSERT(pMap != NULL)
      

  5.   

    为啥要当作类成员来使用?
    直接包含类的头文件就可以用了吧。
    bb *pbb = new bb();
    pbb->Create(ID);
    pbb->ShowWindow(SW_SHOW);
      

  6.   

    看你的bb类初始化的部分里写了些什么?初始化的时候,我把这个BB变成半透明对话框,而且设置了对话框弹出的位置
    为啥要当作类成员来使用?
    直接包含类的头文件就可以用了吧。因为我在A函数里创建,需要在B函数里销毁,所以当成类成员来使用.
      

  7.   

    断言提示错误
    wincore.cpp   Line:886For information on how your program can cause an assertion failare,see the Visual C++ documenetation on asserts.Press Retry to debug the application 
      

  8.   

    Press Retry to debug the application 
    请点retry来debug程序。