Show: Delphi C++
Display Preferences

Release Notes for XE5 Update 2

From RAD Studio
Jump to: navigation, search

Go Up to What's New in Delphi and C++Builder XE5

XE5 Update 2 includes:

  • Delphi XE5 Update 2
  • C++Builder XE5 Update 2
  • RAD Studio XE5 Update 2
  • Updated online help

These release notes contains important supplementary information that might not appear in the main product documentation. We recommend that you read the release notes in entirety.

This document refers to "the product" when the information applies to RAD Studio XE5 or to either or both of the two personalities: Delphi XE5 and C++Builder XE5.

For general information about installation, deployment, and licensing, see the Install, Deploy, and License files located, by default, at C:\Program Files\Embarcadero\RAD Studio\12.0.


Obtaining this Update

Delphi and C++Builder XE5 Update 2 is available as an MSI installer that requires uninstalling your previous installation. For instructions for installing the update, see Instructions for Installation.

This update applies to the following products:

  • Delphi XE5 or XE5 Update 1
  • C++Builder XE5 or XE5 Update 1
  • RAD Studio XE5 or XE5 Update 1

An ISO consisting of the full Update 2 install is also available from the Registered Users Web Page.

Downloading from the Registered Users Web Page

The update is available for download from the registered users download pages as follows:

Download <delphicbuilder_xe5_upd2.exe> to your computer. This is the installer that installs the update. The steps to follow for installation are given in #Instructions for Installation.

Instructions for Installation

Disk Space Required for Installation Process and Product Footprint

Before you start the installation, you should ensure that your development system has sufficient free disk space to allow caching and copying files during the installation and to accommodate the product footprint when installed. Together, the product install and product footprint might require between 30 GB of free space (for a Delphi-only Professional SKU) and 45 GB of free space (for a studio SKU with mobile).

Installing the Download from the Registered Users Site

Uninstalling XE5 Update 2

If you have installed any of the XE5 products listed in #Obtaining this Update, you must uninstall the XE5 product before installing XE5 Update 2.

  1. In the Control Panel, select the option for uninstalling an application.
  2. Select your installed XE5 product and start the uninstall process.

Installing XE5 Update 2

To start the installation, run the downloaded <delphicbuilder_xe5_upd2.exe> installer.

  1. Open your obtained Update 2.
  2. When Windows Explorer appears, run setup.exe.

Installing the ISO

Uninstalling XE5 for the ISO

If you downloaded the ISO for XE5 Update 2, you must uninstall your installed XE5 product (either the XE5 or the XE5 Update 1 release) before installing XE5 Update 2. That is, you must uninstall:

  • Delphi XE5 or Delphi XE5 Update 1
  • C++Builder XE5 or C++Builder XE5 Update 1
  • RAD Studio XE5 or RAD Studio XE5 Update 1

Use the following steps:

  1. In the Control Panel, select the option for uninstalling an application.
  2. Select your installed XE5 or XE5 Update 1 product and start the uninstall process.

Installing the XE5 Update 2 ISO

If you downloaded the ISO for XE5 Update 2, then you must do the following:

  1. If you have XE5 or XE5 Update 1 installed, uninstall the previous XE5 product:
  2. Mount the ISO and run <install_RADStudio.exe> to start the installation.

Installing the Platform Assistant Update

The Platform Assistant server is required for cross-platform application development that targets Mac OS X or iOS (either simulator or device). The XE5 Update 2 install contains new versions of the Platform Assistant installers (including PAserver.exe and PAServer.pkg). The installer files are located in the PAServer folder.

To uninstall the Platform Assistant:

  • On the Mac, it is not necessary to uninstall the Platform Assistant, but you can use the "Move to Trash" command if you want to remove the previous version.
  • On Windows, use Uninstall PAServer.exe to uninstall the Platform Assistant (recommended). The Uninstall program is located in the installation directory for the Platform Assistant.
    (Several versions of the Platform Assistant can coexist on a system, so long as you run each version on a different port.)

To install the updated Platform Assistant:

You have two choices:

For more information, see:

Contents of XE5 Update 2

C++ iOS app development is a major new feature.

XE5 Update 2 also includes an update of the online help. The help is installed by default during installation of the update.

Fixed Issues

Fix List for XE5 Update 2

For a complete list of the specific problems fixed in this update, see "Fix list for Update 2 for RAD Studio XE5, Delphi XE5 and C++Builder XE5":

Known Issues

LiveBindings Issues with C++, and C++ iOS

You might encounter some problems when using LiveBindings with C++ objects, rather than with Delphi objects. For example, if you define a structure in C++ to use with LiveBindings, some data types might not work as expected. This is because the run-time type information generated by the C++ compiler is not always consistent with the run-time type information generated by the Delphi compiler.

Whether the project is built with packages can also make a difference when using C++ objects:

  • When a C++ project is built with packages, some of the run-time type information is pulled in from the Delphi packages. So a project built with packages tends to have the type information expected by LiveBindings.
  • When the project is built without packages, then the C++ compiler generates the type information, which can be inconsistent.

On Windows, projects are built with packages by default, so LiveBindings may work fine until the project is built without packages.

On the iOS platform, it is not possible to build with packages, so any problems that occur when building without packages on Windows will always occur when targeting iOS. The reason why packages cannot be built on iOS is because C++ does not support Type Rooting.

For more information, see:

Solving a Video Playback Positioning Issue on iOS Devices

Video playback on iOS might exhibit a positioning issue: if the iOS device is rotated after playback, the video might not be aligned properly. Use the following alternative workaround:

// The following code forces repositioning of the control when the device is rotated.
procedure TForm20.FormResize(Sender: TObject);
if MediaPlayer1.State = TMediaState.Playing then

Manually Adding <IPPeerClient.hpp> for REST.Authenticator.OAuth.TOAuth1Authenticator

The selection editor for the component might not include <IPPeerClient.hpp>. Without <IPPeerClient.hpp>, your application hangs or gives an exception (in debug mode). If you get the following EIPAbstractError exception message:

No peer with the interface with guid ...

then you need to either add IPPeerClient to the uses list (Delphi) or #include <IPPeerClient.hpp> (C++).

Note that there are other cases when you might see this message and need to manually add IPPeerClient. For example, if you are programmatically creating TRESTClient, rather then putting the components on the Form Designer.

Code Completion Fields Might Overlap for C++ iOS Apps

In C++ mobile apps, you might see the fields in the Code Completion window overlapping each other. For example, suppose you generate a FormCreate event handler for a TMemo and type:


To activate Code Completion, press Ctrl+Space and type "Lin". You would expect Code Completion to provide "Lines TStrings *", but instead you might see overlapping text such as this:


The workaround is to manually resize the Code Completion window. For example:


Inherited Form Size Might Change Unexpectedly During Design Operations

If the form size in your app is inherited, the form's Height might unexpectedly be reduced after changes such as the addition of a menu bar. The workaround is to manually change the inherited form size so that it stops inheriting its size from the ancestor form.

Ambiguous Datasnap Reference Error Possible in C++ Mobile Apps

If you receive a CLANG error message "reference to 'Datasnap' is ambiguous" when your C++ mobile application uses FireDAC.Phys.Datasnap.hpp, you can work around this error by including the Datasnap HPPs that are being included in your project before the FireDAC.Phys.Datasnap.hpp.

These are the error messages that might occur:

[CLANG Error] Datasnap.DSIntf.hpp(566): reference to 'Datasnap' is ambiguous
 Datasnap.DSIntf.hpp(24): candidate found by name lookup is 'Datasnap'
 FireDAC.Phys.DataSnap.hpp(37): candidate found by name lookup is 'Firedac::Phys::Datasnap'
[CLANG Error] Datasnap.DBClient.hpp(367): expected a class or namespace

See Also

Copyright 2013 Embarcadero Technologies. All rights reserved.

Personal tools
In other languages