C++ Builder 6.0 程序升级到 C++ Builder 2010 之后的版本,要修改些什么内容
本文地址:http://tongxinmao.com/Article/Detail/id/450
http://www.cppfans.com/cbknowledge/skills/strings/cb6to2010.asp
新老版本到底有多大的区别?升级之后需要修改什么内容? |
• 升级之后的项目选择 UNICODE 版本,而不是 ANSI,头疼的事情反而会更少 |
• 字符和字符串类型要改为 UNICODE 版本。 |
• 与字符和字符串相关的函数都要改为 UNICODE 版本。 |
新老版本最大的区别是字符编码,老版本是 ANSI 编码的,新版本的 UNICODE 编码的。
升级之后的项目选择 UNICODE 版本,而不是 ANSI,头疼的事情反而会更少 项目选择 UNICODE 版本的方法请点击这里:选择 UNICODE / ANSI 版本 - C++ Builder 操作指南。 虽说 ANSI 版本是为了兼容老版本的程序设计的,但是新版本的 C++ Builder 字符串都改为了 UnicodeString 类型,这个类型和 ANSI 版本的 API 函数不匹配,导致了要修改的内容特别多,并且杂乱,为了调用 API 函数还要来回的转编码。 如果项目选择了 UNICODE 版本,只需要把所有的字符和字符串类型改为 UNICODE 版本就可以了,思路清晰,没有来回来去转编码的地方。 例如新版本的 Edit1->Text 属性,或者 Label1->Caption 属性,都是固定为 UnicodeString 类型的,不根据版本来变化,让他们匹配 UNICODE 版本的 Windows API 函数非常简单,只需要 .c_str() 就得到了 wchar_t *,而匹配 ANSI 版本的 Windows API 函数就需要转编码,增加了不必要的额外的代码。
|
上一篇:在uboot中初始化nuc972的GPIO初始状态
下一篇:ARM-LINUX WIFI热点