C++Builder 2007的工程文件中的<NoVCL>false</NoVCL>

 

C++Builder 2007的工程文件中的<NoVCL>false</NoVCL>

 
 
用C++Builder 2007打开一个C++Builder 6的工程文件*Editor.bpr,提示升级。“Build”通过,“Run”出错:
 
First chance exception at $7C812AFB. Exception class EOSError with message 'System Error. Code: 1410.
类别已存在。'. Process DCTEditor.exe (2920)
 
Google中找到一篇文章,突然想起以前用C++Builder 6的时候也遇到过此问题,本是VCL程序却被当作控制台程序来编译。
http://tech.groups.yahoo.com/group/cbuilder/message/1653?var=1&p=1
 
本以为照着文章中的方法操作一下就可以了,但打开*Editor.cbproj文件后发现没那么简单,C++Builder 2007的工程文件的格式已经完全不一样了,改为使用MSBuild了,无从下手。
 
实然想起用XE升级这个项目时没出现这个问题,于是打开两个工程文件对比,发现2007的工程文件的<PropertyGroup Condition="'$(Base)'!=''">节下有<NoVCL>ture</NoVCL>这么一行,而XE的没有,再想想这个程序是使用VCL的,按理应为false才对,于是乎就理直气壮地把它改成了<NoVCL>false</NoVCL>,保存,用2007打开,编译,“Run”,OK!!!
 
高兴!原来只需改此处就行了。
 
这时在2007中查看这个工程的属性,发现有“Forms”“Packages”选项了,而之前没有这两个选项,现在都明白了。所以以后如果发现用2007升级来的VCL项目没有这两个选项就直接用记事本打开项目文件把<NoVCL>ture</NoVCL>删除即可。
 
 


通过 Wiz 发布


作者: zsjdingbo   发布时间: 2011-06-06