C++ Builder 6与CodeGear的C++ Builder 2009兼容性问题

4
我需要支持一些使用C++ Builder 6开发的软件代码,当前的开发环境是Codegear的C++ Builder 2009。不知道Codegear的C++ Builder 2009是否向后兼容C++ Builder 6?感谢任何回答。谢谢David。
1个回答

5
这取决于你实际需要哪种“向后兼容性”。 AnsiString 在 CB2009 中仍然存在,但其行为已经(终于)改变了一些,以便正确支持 Ansi 代码页。CB2009 中的 VCL 组件现在基于 UnicodeString,不再是基于 AnsiString。此外,还有一些迁移问题需要注意,例如在 BCB6 中使用了 AnsiString 参数的组件事件处理程序,特别是那些通过引用传递的处理程序。然后还有 Win32 API 要处理。CB2009 有一个“_TCHAR 映射到”选项,可以在 API 中切换 Ansi 和 Unicode(顺便说一句,这不会在 VCL 和 Ansi、Unicode 之间切换)。

大多数在 BCB6 中编写的代码都可以在 CB2009 中“编译”,但根据你所做的操作方式,它可能或可能不会按照你的期望“运行”。你真的需要对使用 AnsiString/WideString 和 char/wchar_t 值进行代码审查,并查看哪些可以原样使用,哪些需要重写。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接