在MFC中,建立一对话框然后用ClassWizard来建立新类,结果却出现“Unable to open ...... .cpp,...... .h for class ......”,就是说不能打开为此类建立的头文件和C++文件。是否与默认路径有关?请指教。

解决方案 »

  1.   

    工程》files》将所缺的文件加入到当前工作区
      

  2.   

    问题并不是缺了这个文件,而是要新建立这个文件,但是却说打不开。我是对一全新Dialog建立一全新的类啊,不是用已经存在的。
      

  3.   

    不应该有这个问题呀,一定是已经为这个对话框建立了一个类了,删除对应的cpp,h文件后,在class wizard中class info中还有残余记录,你点击这一页,删除之,然后新建类
      

  4.   

    是不是有设置新建类的父类,而父类找不找。
    直接建一个Generic Class,不指定父类 看是不是还有这个错误
      

  5.   

    再具体一点。我第一次建立一个工程之后有问题,然后把包括那个文件夹整个删除了,再建一新工程就遇到了这样的问题。点击第二次出现“......contain remnants of that class”。现在这个问题不解决,余下的都没法做了。为什么第一次说打不开,第二次说有残余?第一次明明是建立一个新的类,怎么会说打不开?第二次说有残余。另外父类是CDialog,会找不到吗?
      

  6.   

    1、在WorkSpace的File View中,选中需要删除的文件,按del移除;
    2、在ClassWizard中,选中Class Info面板,选择你不需要的类,它会弹出类管理面板,选择删除。将所有的残余东西清除后,再重新生成类。这样应该可以解决你的问题.
      

  7.   

    我相对完整叙述一下过程吧。我用的系统是Windows 2000+VC6。完全按照MFC AppWizard默认建立一普通MFC程序框架,然后,在资源中插入一个对话框,再利用Class Wizard去建立一个与这个对话框相联系的新类,我选的基类是CDialog,但是每次点击OK之后就出现"Unable to open the files for 刚才建立的类",接着马上第二次点击OK却出现"......contain remnants of the class",真是奇怪。切盼高手指点!
      

  8.   

    另一种可能是,你的工程加入了Source Control。要先在source safe里
    将工程的记录删除才行。
      

  9.   

    另外的名称也出现这样的问题。是不是有个默认路径的设置问题?另外我没有用source safe。这里不能贴图,否则把图贴出来可能讲得清楚一点。以前没有这样的问题,只是在我删除那个工程文件夹后出现了。以前也曾经出现过一次,但是不记得什么地方改了一下又好了。
      

  10.   

    问题解决方案:
       关闭VC,到程序所在目录,删除扩展名为 clw 和 ncb 的文件,然后打开工程,选择菜单
    View->ClassWizard,会询问是否要从文件创建类信息,直接确定即可。
       执行上述操作时最好将要删除的文件保存,并且保证所有的源文件(h 和 cpp)都已包含在当前工程中。
       我也遇到过这种问题,就是通过这种方法解决的。如还有问题,请将程序发送至[email protected]
    我再看看如何解决。
      

  11.   

    没事的,出现这种情况的时候关闭工作区,然后vc会提示保存之类的问题
    全部选“Yes”好了,
    然后在打开工作区,编译一下,你会发现一切正常。
    vc就这破毛病,你要有耐心...
      

  12.   

    我按照scie的方法是解决了,但是下一次又出现了同样的问题。无论我怎么到全新目录里去建全新的工程,给Everyone全部的权限还是如此。就一直停在这里了,又不想重装Vc甚至是系统。
      

  13.   

    我已经将关键步骤的截图和出问题的源码打好包,谁能够解决或者愿意研究此问题请留下mail。
      

  14.   

    在你的工程所在文件夹里面有个*.clw文件,删了它,然后进入你的工程打开classwizard,vc会提示你没有了那个东西,要你重新生成,点击yes,然后弹出一个对话框,点击下面的add all后ok就行了,重新生成一遍就没问题了