Content:
|
On Wednesday, February 29th 2012, Update #4 for Delphi XE2 and C++Builder was released, see also http://cc.embarcadero.com/item/28758 for the new ISO (which unfortunately is only available for those who already registered XE2, and not for "new" users who need a first install).
It is great that Embarcadero is still using a frequent update schema, especially for FireMonkey issues, so I always welcome these updates. Unfortunately, Update #4 required a full uninstall and reinstall of Delphi XE2 and/or C++Builder XE2, as discussed in the Release Notes for the XE2 Update 4 at http://docwiki.embarcadero.com/RADStudio/XE2/en/Release_Notes_for_XE2_Update_4 To make matters worse, after installation of Update #4, you may see the following dialog when you try to start Delphi XE2 again:
This error message will only happen if you have third-party controls installed that link to the FireMonkey packages, i.e. if you have third-party FireMonkey controls installed. Fmx161.bpl no longer exists, and is now fmx162.bpl. For me, this was the case with the TMS TableView and TMS Instrumentation Workshop component libraries, that I've used for Delphi XE2 native iOS applications for example (see the Delphi XE2 iOS Development for more details). Another example of a third-party library control that links against the FireMonkey packages are some of the Devart database drivers. In all cases, the third-party libraries need to be recompiled. If you need to know which packages are involved, just check the Delphi XE2 splash screen and see which package is the one currently being loaded that spawns the error message.
The package was TMSFMXCorePkgDXE2.bpl. This became even more obvious in the next error message, which even told me where to find the package.
Make a note of all packages that fail to load, and recompile them in Delphi XE2 (or see if you can download newer versions from the third-party vendor, but that wasn't required for the libraries from TMS Software).
Apart from the installed packages, you may also encounter problems with new DCU files that changed their interfaces, so other third-party controls need to be updated. I updated my Delphi XE2 Development Essentials courseware manual with the above information, and wanted to send all my customers an automatic update of the new edition of the PDF, but found that the QuickPDF library gave me a compiler error since "unit QuickPDFExtra was compiled with a different version of System.AnsiStrings.AnsiCompareStr." Fortunately, this is easy to fix, since the developers of QuickPDF already fixed this issue by making the UPdate #4 DCU files available from their weblog at http://www.quickpdflibrary.com/blog/2012/03/special-quick-pdf-library-hot-fix-for-delphi-xe2-update-4/ You may encounter similar issues with your Delphi XE2 third-party component libraries - either packages that fail to install or .DCU files that require a new(er) edition. If you have the source code, then a simple recompile will do, but it is something to be aware of after having installed Update #4.
Finally, the Delphi XE2 About Box should now report version 16.0.4429.46931 for Delphi XE2 and C++Builder XE2 Update 4 with Help Update 3 for Delphi XE2 and C++Builder XE2 installed as well.
|