C ++ builder 6和codegear的C ++ builder 2009兼容性

时间:2009-10-14 01:11:15

标签: c++ c++builder

我需要支持一些使用C ++ builder 6开发的软件代码,当前的开发环境是Codegear的C ++ builder 2009.我想知道codegear的C ++ builder 2009是否与C ++ Builder 6向后兼容?

感谢任何回答。

提前致谢。

大卫。

1 个答案:

答案 0 :(得分:5)

这取决于您实际需要什么样的“向后兼容性”。 AnsiString当然仍然存在于CB2009中,但它的行为(最终)改变了一点,以便正确支持Ansi代码页。 CB2009中的VCL组件现在基于UnicodeString,而不再是基于AnsiString的组件。另外,还有一些迁移问题需要注意,例如在BCB6中使用AnsiString参数的组件事件处理程序,尤其是那些通过引用传递的参数。然后有Win32 API来处理。 CB2009有一个“_TCHAR映射到”选项,用于在API中切换Ansi和Unicode(不会在Ansi和Unicode之间切换VCL,BTW)。

您在BCB6中拥有的大多数代码都将在CB2009中“编译”,但它可能会或可能不会以您期望的方式“运行”,具体取决于您使用它做什么。您确实需要对AnsiString / WideString和char / wchar_t值的任何使用进行代码审查,并查看原样是什么,以及需要重写的内容。