Go Up to What's New





Highlights of the XE3 Release

Embarcadero® RAD Studio XE3 presents Metropolis UI , designed for the Windows® 8 platform.

, designed for the Windows® 8 platform. See Developing Metropolis UI Applications

FireMonkey Changes for XE3 (FM2)

Support has been added for the following features in FireMonkey release 2 (FM2):

For descriptions of the Windows 8 gestures, see http://msdn.microsoft.com/en-us/library/windows/apps/hh761498.aspx FireMonkey does not yet support custom gestures.

Audio-video FireMonkey offers support for capturing media data (audio and video). For this purpose the following classes are introduced: TCaptureDevice , which is the base class for capturing devices. TCaptureDeviceManager , which offers the possibility to access and manage capturing devices. FireMonkey offers support to play media files (audio and video). The TMedia class is introduced to support playback for media sources. For easy access, the nonvisual component TMediaPlayer is introduced. For displaying video files, the TMediaPlayerControl component is introduced.



FireMonkey Sensor Components: Non-visual components for using device sensors have been added, and you can see them in the Sensors tab of the Tool Palette: The Location Sensor (for both Windows and Mac OS X) The Motion sensor (for Windows)

Refactoring: Some platform-neutral FireMonkey types and math functions have been moved from FMX to the RTL (in the System unit). For details, see RTL Changes for XE3.

Some platform-neutral FireMonkey types and math functions have been moved from FMX to the RTL (in the System unit). For details, see Virtual keyboard is now supported.

DirectX 10 is now supported.

LiveBindings Changes for XE3

Database Changes for XE3

Easier interactions are supported with InterBase ToGo databases, using a new dbExpress driver: IBToGo Driver.

databases, using a new dbExpress driver: IBToGo Driver. TSQLMonitor is available for ODBC and SQLite.

is available for ODBC and SQLite. DBX driver metadata has been extended to support querying whether a vendor supports schemas.

has been extended to support querying whether a vendor supports schemas. Support has been added for SQLite databases through the new SQLite driver for both Windows and Mac OS X .

for both and . New Data.DbxSqlite.FailIfMissing property is introduced that determines whether the database connection fails if the database does not exist. For more information, see Data.SqlExpr.TSQLConnection.Params.

property is introduced that determines whether the database connection fails if the database does not exist. For more information, see Data.SqlExpr.TSQLConnection.Params. VendorLib , LibraryName , and GetDriverFunc properties are no longer published on TSQLConnection and should not be used.

, , and properties are no longer published on and should not be used. DataSnap-related DSSession functionality is now available in the Datasnap.DSSession unit instead of the former Datasnap.DSService unit.

functionality is now available in the unit instead of the former unit. Enhanced the Data Explorer.

Enhanced DataSnap Mobile Connectors support for latest versions of iOS, Android and BlackBerry.

Integrated support for sample InterBase databases for quick application prototyping.

C++Builder Changes for XE3

Building Static Packages: The C++ compiler (BCC32.EXE) now does a double build in order to separately generate dynamically linked libraries and static packages. Therefore, the following options are no longer needed and are no longer available on the C++ Linker page of Project Options: Generate import library (-Gi) Generate static package library (.lib) (-Gl) For more information, see Building Static Packages .

The C++ compiler (BCC32.EXE) now does a double build in order to separately generate dynamically linked libraries and static packages. Therefore, the following options are no longer needed and are no longer available on the page of Project Options:

The top-level Directories and Conditionals page in Project Options has been renamed to C++ (Shared Options). No other changes have been made on this page.

The following new PCH-related option has been added to the C++ Compiler Advanced page in Project Options:

Minimum contiguous memory allocation block size (in MB)

The following option has been added to the C++ Compiler Directories and Conditionals page in Project Options:

Add the Project Dir to Include path

New type trait function: __is_closure.





For C++ OS X development, Xcode is required on the target Mac. A clean install of the Mac OS X 10.7 (Lion) operating system, even with Xcode, does not contain /usr/include. Thus for Lion, you also need to install the Xcode command-line tools.

For instructions on installing the necessary Xcode tools, see Connecting Your PC to a Mac.

For more information about OS X development, see Mac OS X Application Development.

VCL Changes for XE3

New and revised VCL wizards -- see IDE Changes in XE3.

In XE3 you can develop VCL applications for the Metropolis UI, using the VCL Metropolis UI Application wizard.

VCL Styles: The VCL Style Designer has been renamed Bitmap Style Designer . You can use the Bitmap Style Designer to convert VCL styles to FireMonkey styles, so if you are converting a VCL project to FireMonkey, you can convert the VCL project's style as well. Styles are now supported for individual elements of a control. See: Vcl.Controls.TControl.StyleElements Vcl.Controls.TStyleElements Standard border styles are now supported. See: Vcl.Themes.TStyleManager.TFormBorderStyle



Animated fade effects are now supported in VCL controls such as TButton and TBitBtn. See: Vcl.Themes.TStyleManager.AnimationOnControls

RTL Changes for XE3

Global Variables Deprecated; Use FormatSettings Instead: Twenty global variables in System.SysUtils, which have been deprecated for several years, have now been removed from the product. Examples: CurrencyDecimals, LongTimeFormat. For more information, see Global Variables.

Actions: To provide actions in FireMonkey framework some corrections are implemented in VCL and RTL units. Framework-neutral actions features (supported in both FireMonkey and VCL) have been moved from VCL to RTL: New System.Classes.TBasicAction and System.Classes.TBasicActionLink classes are created in the RTL System.Classes unit. Implementations of some actions-related functionality are moved from the VCL Vcl.ActnList unit into the new RTL System.Actions unit. For more details see the Actions sections in FireMonkey Changes for XE3 and VCL Changes for XE3 in this topic.

To provide actions in FireMonkey framework some corrections are implemented in VCL and RTL units. Framework-neutral actions features (supported in both FireMonkey and VCL) have been moved from VCL to RTL:

Refactoring: Some platform-neutral FireMonkey types and math functions have been moved from FMX to the RTL (in the System unit): From FMX.Types: Vector New: tagVECTOR, tagVECTOR3D From FMX.Types3D: TMatrix3D, Point3D, ]TQuaternion3D, TVector3D, Vector3D Methods in FMX.Types3D that work with TVector3D have been refactored. For example, FMX.Types3D.Vector3DAdd is now System.Types.TVector3D.AddVector3D.

Some platform-neutral FireMonkey types and math functions have been moved from FMX to the RTL (in the System unit): Some newly documented methods: InflateRect, IntersectRectF, MultiplyRect NormalizeRect, NormalizeRectF, UnionRectF RectCenter ScalePoint



Three new helper types (TSingleHelper,TDoubleHelper, and TExtendedHelper) replace the following record types: TSingleRec, TDoubleRec, TExtendedRec, extensively.

IDE Changes for XE3

Changes in File > New Menu

Changes in Project > Options Dialog Box

New IDE solution for sandboxing, code-signing, provisioning, and productbuild of your Mac OS X applications (this is required only if you want to submit your application to the Mac App Store): New Entitlement List page enables you to select the entitlements you want your Mac OS X applications to have. New Provisioning page allows you to specify your Apple developer certificate and your distribution certificate for provisioning your Mac OS X application. (The same page occurs in Tools Options.) Mac OS X Application Development describes how to sandbox, code sign, provision, and productbuild your application using either the IDE (the recommended solution) or manual steps.

(this is required only if you want to submit your application to the Mac App Store): The Version Info page now has three Build Options : Do not change build number has always been the default. Auto increment build number has been restored from XE. Auto generate build number has been retained from XE2.

page now has three : The top-level Directories and Conditionals page in Project Options has been renamed to C++ (Shared Options). Other than the name change, nothing is different on this page.

New Provisioning page allows you to specify a project-global Apple developer identity and your provisioning profile, required for developing OS X applications. (The same page occurs in Project Options.)

Convert to Metro Command

You can now convert an existing VCL or FireMonkey form to a Metro style form. For more information, see Convert to Metropolis UI Form.

Application Samples Changes for XE3

For information about the samples that are installed with the product, see Samples Descriptions.

Metropolis UI samples (FireMonkey): FlipViewDemo EmbeddedGlyphDemo Sample FlyoutDemo



Other FireMonkey samples: CustomCaptureDevice DemoActions CustomTreeView ScrollableFormDemo TextLayoutDemo VideoCaptureHD



Online Help Changes for XE3

"Show Protected Members" on Class Pages

Before XE2 Help Update 5, class members were divided into separate lists of Declared Members and Inherited members:



Now, all class members are listed together, sorted into Methods, Properties, Events, and Fields (similar to the sorting used in Delphi 7 and C++Builder 6):

By default, only the Public and the Published members are displayed on the class pages. The new Show Protected Members checkbox enables you to include or exclude protected members on the current page:





