What's New in Delphi and C++Builder XE3

From RAD Studio XE3
Jump to: navigation, search

Go Up to What's New

What's New in C++Builder 64-Bit Windows

Highlights of the XE3 Release

New Metropolis UI Applications for VCL and FireMonkey

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:
    • FireMonkey offers support to play media files (audio and video). The TMedia class is introduced to support playback for media sources.
  • FireMonkey 3D enhancements
    • A new context shader creates and defines FireMonkey filters, materials and context for 3D objects.
    • The new FMX.Types3D.TTexture class replaces the use of bitmap textures. This class uses GPU memory to store real data. TTexture is a limited class, but offers support for textures with different pixel formats, behavior and styles.
    • The new material system is based only on shaders, and allows an unlimited variation of lighting and materials in one application. A material is linked to 3D objects through the TMaterialSource object that can be positioned anywhere in a form. The existing material can be found in the new FMX.Materials unit and at design time in Tool Palette under the Materials category.
    • Regarding importing 3D models, the textures are correctly imported. For more information, about importing 3D models, see the Importing a 3D Model in a FireMonkey Application tutorial.
  • 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.
  • Virtual keyboard is now supported.
  • DirectX 10 is now supported.

LiveBindings Changes for XE3

  • Introduction of the new visual LiveBindings Designer--this is the main tool you use when creating LiveBindings. Now you can:
    • Visually connect control members and data.
    • Replace prototype data with real client datasets with a single click.
    • Visually add and bind to additional component properties.
    • Easily identify bindable members using the color coded component properties shown in the designer.
    • Zoom the designer window.
    • Save your bindings diagram to a file on the hard disk.
    • Easily hide visual elements or place them on different layers.
    • Launch the designer by right-clicking the Bind Visually command on the Form Designer.
    • Customize several LiveBindings options through a new LiveBindings Options in the Tools > Options dialog box.
  • The LiveBindings Wizard was also introduced.
  • Existing LiveBindings components have been updated in order to work with the new LiveBindings Designer.
  • Added the possibility to create data sources (TPrototypeBindSource or TBindSourceDBX) from within the LiveBindings Wizard. The TPrototypeBindSource component can be used for quick prototyping of applications.
  • Using a TPrototypeBindSource, now you can bind multiple properties of different objects to the same data.
  • A set of Quick Binding Components have been introduced in order to make LiveBindings links seamless. These Quick Binding Components produce auto-generated expressions for easily linking objects.
  • LiveBindings can now be seamlessly created from one control to multiple controls, using the LiveBindings Designer.
  • Added LiveBindings menu in the Object Inspector.
  • TBindNavigator has been added for cycling through records in a dataset when developing VCL applications.
  • Added new LiveBindings components in the palette: TPrototypeBindSource, TBindSourceDBX.
  • LiveBindings now supports FMX.Grid.TGrid components.
  • Availability of the LiveBindings Designer property in the Object Inspector that can control the LiveBindings Designer's Layers and Visibility.
  • LiveBindings is integrated with Action Lists--common LiveBindings actions have been added.
  • Removed the old style of creating LiveBindings (such as Link to DB Field, manual bindings, and manual notifications).

Database Changes for XE3

  • Easier interactions are supported with InterBase ToGo databases, using a new dbExpress driver: IBToGo Driver.
  • TSQLMonitor is available for ODBC and SQLite.
  • DBX driver metadata 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.
  • 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.
  • VendorLib, LibraryName, and GetDriverFunc properties are no longer published on TSQLConnection and should not be used.
  • DataSnap-related DSSession functionality is now available in the Datasnap.DSSession unit instead of the former Datasnap.DSService 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 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)
Add the Project Dir to Include path

Installing Xcode Command Line Tools on Mac OS X 10.7 (Lion)

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.

VCL Changes for XE3

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.

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.
  • 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.
  • 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.

Changes in Tools > Options Dialog Box

  • 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.

  • 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:


See Also