【问题标题】:C++ builder 6 and codegear's C++ builder 2009 compatibilityC++ builder 6 和 codegear 的 C++ builder 2009 兼容性
【发布时间】:2009-10-14 01:11:15
【问题描述】:

我需要支持一些使用C++ builder 6开发的软件代码,目前的开发环境是Codegear的C++ builder 2009,请问codegear的C++ builder 2009是否向后兼容C++ Builder 6?

感谢任何答案。

提前致谢。

大卫。

【问题讨论】:

    标签: c++ c++builder


    【解决方案1】:

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

    您在 BCB6 中拥有的大多数代码将在 CB2009 中“编译”,但它可能会或可能不会以您期望的相同方式“运行”,这取决于您使用它执行的操作。您确实需要对 AnsiString/WideString 和 char/wchar_t 值的任何使用进行代码审查,看看哪些是按原样工作的,哪些需要重写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      相关资源
      最近更新 更多