Jump to content
Sign in to follow this  
shun

Verifying Compatibility Between C++Builder 5 and the Latest Version

Recommended Posts

Hello,

I am currently using C++Builder 5 Enterprise Edition for an internal system, and I would like to upgrade to the latest version of C++Builder to verify compatibility and ensure smooth operation.

However, I am considering using the Community Edition for this testing phase.

Could you please let me know if the Community Edition is suitable for verifying compatibility and functionality of an application originally built in C++Builder 5 Enterprise Edition?

Are there any limitations I should be aware of when using the Community Edition for such purposes?

Thank you for your assistance!

Share this post


Link to post
37 minutes ago, shun said:

Are there any limitations I should be aware of when using the Community Edition for such purposes?

The only limitation I can think of that will most probably be a big no for you is the revenue clause for the companies that want to install the community edition (https://www.embarcadero.com/products/cbuilder/starter):

 

  • Licensed for use until your individual revenue from C++Builder applications or company revenue reaches $5,000 US or your development team expands to more than 5 developers

It is meant only for a start-up companies that don't have a product yet. I safer choice would be to test your code base using the trial version.

Share this post


Link to post

Does your C++ Builder 5 use any features that are "Enterprise" edition only? if so you would need to make sure you have access to these in the Trial edition.

C++ Builder 5 used String = AnsiString - all modern editions use String = UnicodeString. This can be need a bit of work if you are using low level processing of the String types. Often this change is hardly noticed.

You would need to decide if you are going to stick with the "Classic" compiler (which does still come with 12.2) or move to the Clang compiler which immediately gives you access to modern C++ constructs but

can also highlight non-standard (ie not quite standard) coding practices that worked under the classic compiler but don't work with modern C++. My view is that it's worth the effort to move to the modern tool 

chain.

  • Like 1

Share this post


Link to post
14 hours ago, Roger Cigol said:

Does your C++ Builder 5 use any features that are "Enterprise" edition only? 

Thank you for your response. Could you tell me how to check if there are any features that are exclusive to the 'Enterprise' edition?

Share this post


Link to post

 

14 hours ago, Roger Cigol said:

You would need to decide if you are going to stick with the "Classic" compiler (which does still come with 12.2) or move to the Clang compiler which immediately gives you access to modern C++ constructs but

can also highlight non-standard (ie not quite standard) coding practices that worked under the classic compiler but don't work with modern C++. My view is that it's worth the effort to move to the modern tool 

chain.

You recommend migrating to the Clang compiler, but I feel that continuing to use the Classic compiler might be more beneficial since non-standard coding practices that worked with the Classic compiler might not work with modern C++ under Clang. Could you explain the advantages of migrating to Clang

Share this post


Link to post
On 10/16/2024 at 12:53 AM, shun said:

Thank you for your response. Could you tell me how to check if there are any features that are exclusive to the 'Enterprise' edition?

Hi @shun Sorry for delay - busy week....

Up to date feature matrix is here:

https://www.embarcadero.com/products/rad-studio/features/feature-matrix

According to this site

https://plaza.kpt.co.id/IT/en/107-2/Embarcadero-Delphi_8137_plaza-kpt.html

Delphi / C++ Builder 5 dates from 1999 - so you are looking for a feature matrix 25 years old (if it ever existed). Fifteen minutes on google has not yielded a hit for this but you might do better.....

  • Like 1

Share this post


Link to post
On 10/16/2024 at 1:27 AM, shun said:

Could you explain the advantages of migrating to Clang

If you stay with "Classic" you are staying with an obsolete platform. It is likely to be around for years and years to come (because of so much legacy code out there) but it is no longer under any further development; each new version of RAD Studio or C++ Builder comes with exactly the same "Classic" compiler. Staying with "Classic" also ties you to 32 bit only application.

It's not my job to explain all the advances in C++ syntax and the associated STL additions that have happened since the days of the "Classic" compiler - but there are many many many in the list. As soon as you start using Clang you don't want to go back to "Classic". If you are not so familiar with modern C++ start by reading the latest edition of Stroustup's "A Tour of C++" and see how many things in this (fairly brief) text are new to you. Scott Meyer's "Effective Modern C++" is another good book. There are hundreds out there..

There is one disadvantage of the Clang compiler: It's compile times are slower. Make sure you use the TwineCompile plug in (free of charge on Getit package manager). 

As an upgrade path I would suggest make the change to 12.2 staying with the "Classic" and once you have all your other issues solved then move to Clang.

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×