我的程序是基于对话框的一个简单程序,包括如下三个类:
CWinApp
CMyDialog
CAboutDialog
现在的问题是启动ClassWizard时,不显示CMyDialog类的任何信息,而是弹出如下的信息提示:
    A duplicate insert block exists for CMyDialog in the source file
         .....\MyDialog.h, ....\MyDialog.cpp
怎么也不显示该类的信息,其它两个类都正常。我仔细检查过这两个源文件,没有任何问题。
请帮忙看看!

解决方案 »

  1.   

    将.clw和.ncb文件删除以后重建!或者将先将这两个文件从工程中删除,Rebulid后,再添加这两个文件!
      

  2.   

    在工程中删除此文件,再重新导入,再Rebuild all
      

  3.   

    .ncb文件删除后如何重建?是类似于.clw文件一样由ClassWizard自动重建吗?
      

  4.   

    ncb文件是生成了,但问题还是没解决!
    请提出解决问题的办法好吗?我的问题是ClassWizard不能显示CMyDialog类的任何信息,而是提示如下:
     A duplicate insert block exists for class CMyDialog in the source file
             .....\MyDialog.h, ....\MyDialog.cpp
      

  5.   

    将.clw和.ncb文件还有.opt文件都删除
      

  6.   

    请问,为什么要将.clw和.ncb文件还有.opt文件都删除,请解释一下好吗?
      

  7.   

    注意:
    如果在classwizard中无法显示你创建或者导入的类,请检查你的类声明文件中的如下代码:比如在MyView.h中的CMyView类,
              //{{AFX_MSG(CMyView)
    afx_msg void OnPaint();
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    注意这两行注释后的代码,不要以为它没有用,如果AFX_MSG(CMyView)这句:括号中的参数,如果与你的类名不同,则在classwizard中无法显示你的类。同样,在对应的cpp文件中
    BEGIN_MESSAGE_MAP(CMyView, CView)
    //{{AFX_MSG_MAP(CMyView)
    ON_WM_PAINT()
    ON_WM_LBUTTONDOWN()
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    对应的注释掉的那两行,参数必须与你的类名相同。修改这些后,删掉.clw文件,然后用classwizard重建,就能看到你的类了!