把工程从BCB2007升级到BCB2010,有什么要注意的地方?
最近想重装系统了,BCB也想升级为BCB2010,不知道有什么要注意的地方?
另外BCB2010中一些函数的参数从char *变为了wchar_t *,对于现有的工程,应该怎么改比较好?
[解决办法]
注意一些三方控件
[解决办法]
编译器哦,没事别升级。
[解决办法]
通常情况使用char &参数没问题,不过最好改为wchar_t &,碰到一回使用KeyDown事件,使用char&参数,回车和字符“不”不分。
[解决办法]
处理字符串时要注意
[解决办法]
mark
[解决办法]
杯具,昨晚装了2010不到半个小时就受不了了,直接把2010卸载了,现在对c++builder是越来越失望... ...
[解决办法]
第三方控件要先看看有没有支持2010的,否则很痛苦
[解决办法]
头盔图标没有了,感觉2010的图标没有头盔图标好看
[解决办法]
2010很好,我现在的工程大部分已经从6.0转移到2009、2010了。对于第三方控件的兼容性,这个是肯定存在的,所以我现在很少用第三方控件,尽量用原生的组件。
[解决办法]
不要怕麻烦,有麻烦的地方就是你超越自我,超越别人的地方。
[解决办法]
升级是一件很麻烦的事情,我有个项目,从6升级到2009,最关键的就是Unicode字符的问题,AnsiString到UnicodeString的转换,c_str()与w_str()函数的转换,如果以前写的有AnsiString字符的存储,那么需要更加留意一下。还有就是使用的第三方的控件是否有支持2009或2010的,别的个人觉得问题不是太大
[解决办法]
ShowMessage(StrToIntDef(Q->FieldByName("ID")->AsString,-1));//结果错误,一直是-1
把控件的值直接拿来运算在某些函数会出错;
2009开始就出现这个问题了 2010 也有
比如:
char a [1000];
sprintf(a,"%s",Edit1->Text.c_str());
ShowMessage(a);
就会有问题,
[解决办法]
接上
所以你需要转换一下 或者提取出来
char a[1000];
sprintf(a,"%s",AnsiString(Edit1->Text).c_str());
ShowMessage(a);
[解决办法]