tags:

views:

283

answers:

1

Hello,

I am required to support some software codes that were developed using C++ builder 6, and the current development environment is Codegear's C++ builder 2009. I wonder if the codegear's C++ builder 2009 is backward compatible with C++ Builder 6?

Any answer is appreciated.

Thanks in advance.

David.

+3  A: 

That depends on what kind of "backwards compatibility" you actually need. AnsiString certainly still exists in CB2009, but its behavior has (finally) changed a bit in order to support Ansi codepages correctly. VCL components in CB2009 are UnicodeString-based now, not AnsiString-based anymore. Plus, there are some migration issues you have to be careful of, such as component event handlers that used AnsiString parameters in BCB6, especially those that are passed by reference. And then there is the Win32 API to deal with. CB2009 has a "_TCHAR maps to" option for switching between Ansi and Unicode in the API (which will NOT switch the VCL between Ansi and Unicode, BTW).

Most code you have in BCB6 will "compile" in CB2009, but it may or may not "function" the same way you expect, depending on what you are doing with it. You really need to do a code review regarding any use of AnsiString/WideString and char/wchar_t values, and see what works as-is, and what needs re-writing.

Remy Lebeau - TeamB