zoukankan      html  css  js  c++  java
  • 无法执行添加/移除操作,因为代码元素**是只读的

    在vs中,大量添加窗体或者控件后,发现无法由系统IDE自动生成代码,如自动添加按钮响应函数等,rc管理器界面双击按钮添加函数,会出现 提示框 “无法执行添加/移除操作,因为代码元素**是只读的”。开始认为可能是对应的.cpp和.h被加了只读属性,后来发现是工程的ncb文件引起的。

    解决方案:关闭vs,删除工程对应的.ncb文件,重启vs就好了。

    问题原因:NCB是no compile brower的缩写,文件中存放了供ClassView、WizardBar和Component Gallery使用的信息(关于ClassView、WizardBar请访问http://msdn.microsoft.com/zh-cn/library/6761383e.aspx

    在复制资源或者工程时,要修改工程的ncb文件,因为要适应新的环境可能造成ncb文件混乱;而添加按钮响应函数等是修改ncb文件中ClassView、WizardBar模块的数据,数据混乱就会导致自动添加函数失败。删除ncb文件让vs重新建立ncb即可。

    附vs几种文件的功能

    .clw文件记录了类的信息,如果classView中某个类不见时了,重新此文件重新生成即可
    .ncb文件记录了类的提示信息,如果类的成员函数和变量的提示不见了,重新生成该文件即可,方法同上;
    .aps文件记录了资源信息,要利用现成的资源,需要修改3个文件,.rc文件,Resource.h文件和.aps文件,.aps直接删除后,进入程序,VC会自动生成。

    .APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。 .BMP:位图资源文件。
    .BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。
    .C:用C语言编写的源代码文件。
    .CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。
    .CNT:用来定义帮助文件中“Contents”的结构。
    .CPP或.CXX:用C++语言编写的源代码文件。
    .CUR:光标资源文件。
    .DEF:模块定义文件,供生成动态链接库时使用。
    .DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。
    .DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
    .DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。
    .EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
    .H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
    .HLP:Windows帮助文件。
    .HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
    .HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
    .HPG,生成帮助的文件的工程。
    .ICO:图标资源文件。
    .ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
    .INI:配置文件。
    .LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
    .LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
    .MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。
    .MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。
    .MDP:旧版本的项目文件,相当于.dsp
    .NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。
    .OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。
    .ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。
    .OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。
    .OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。
    .PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
    .PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
    .PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
    .PLG:编译信息文件,编译时的error和warning信息文件。
    .RC:资源定义文件。
    .RC2:资源定义文件,供一些特殊情况下使用。
    .REG:注册表信息文件。
    .RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。
    .RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。
    .SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。
    .TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。
    .WAV:声音资源文件。

  • 相关阅读:
    还算满意的流程图
    C#WinCE程序(.NET Compact Framework 3.5)项目重构面向抽象设计
    c#使用PortableDeviceApiLib读取便携式设备(WPD:Windows Portable Devices)信息
    缅怀逝去的青葱岁月, 忆“煤油灯”
    又趟一个坑,IO卡信号DI和DO的信号类型
    C#Winform使用mysql作为本地数据库
    C#winform自定义控件模拟设计时界面鼠标移动和调节大小、选中效果
    zxing .net 多种条码格式的生成
    C#单例测试(懒汉式双锁保证线程安全)
    架构师之路->架构师思维的培养
  • 原文地址:https://www.cnblogs.com/arsblog/p/4936449.html
Copyright © 2011-2022 走看看