Show: Delphi C++
Display Preferences

10.2 Tokyo - Release 3

From RAD Studio
Jump to: navigation, search

Go Up to What's New

10.2 Tokyo - Release 3 (also known as 10.2.3) is an update of Delphi 10.2 Tokyo, C++Builder 10.2 Tokyo, and RAD Studio 10.2 Tokyo available for any active Update Subscription customer.

The 10.2.3 release focuses on several key areas:

  • Enhancements to our core visual frameworks, including better HighDPI support for VCL and quality improvements for FireMonkey (FMX).
  • New C++ capabilities, including CMake command line support and C++ Rename Refactoring.
  • Expanded RAD Server support for Ext JS for creating Sencha Ext JS web clients with a RAD Server backend.
  • Inclusion of mobile support in Delphi and C++Builder Professional Edition.

Also included are additional enhancements throughout various product areas, and over 100 bug fixes for publicly reported issues.

Release 3 also includes all the new features and enhancements introduced in Subscription Release 1 and Subscription Release 2, as well as the enhancements from the Android animation fixes (released on February 15th, 2018) and the Welcome Page Patch (released on January 16th, 2018).

For a complete list of features and bug fixes, click here.

Note: You need to be an active Update Subscription customer to download and install 10.2 Tokyo - Release 3.

CMake Command-Line Support

CMake is a popular C++ build tool. RAD Studio 10.2.3 Tokyo provides support for building CMake projects on the command line using RAD Studio compilers. 10.2.3 also specifically supports using Ninja with CMake, allowing for very fast parallel builds.

This will allow you to easily build third-party libraries without converting them to a C++Builder project. You can also use Ninja for improved build times.

CMake supports RAD Studio's Clang-enhanced compilers, and for Win32 uses the new Clang-enhanced driver, bcc32x. CMake command line support is provided for Windows, Android, and iOS.

New Win32 compiler driver, bcc32x

10.2.3 includes a new compiler frontend, bcc32x. The existing Win32 Clang-enhanced compiler, bcc32c, which remains in C++Builder, shares a common command line interface with the classic bcc32 compiler. This is a great upgrade path, but meant that not all of the Clang-enhanced compilers shared a common command-line interface.

The new bcc32x is exactly the same as bcc32c, except that it shares a common command line interface with bcc64, bccios32, bccios64, and bccaarm, adding full consistency across our current-gen compilers.

Rename Refactoring for C++Builder

C++ Rename Refactoring in 10.2 Tokyo Release 3 allows you to right-click an identifier in the code view and quickly rename it throughout your project to improve code readability, reduce errors when renaming, and decrease effort to maintain the project.

Refactor c++.png

10.2.3 contains the core of a new C++ IDE tooling capability that stores an AST for your project - symbols, code structure, and more, and this is used for Find References and Rename Refactoring.

Inclusion of Mobile Support in Delphi and C++Builder Pro

New in 10.2.3 for Delphi and C++Builder Professional edition is the inclusion of mobile support for new purchases and customers on active Update Subscription. Previously sold as a separate add-on pack, the included mobile support allows Delphi and C++ developers to target iOS and Android, in addition to Windows and macOS, all from a single codebase.

FireMonkey UI Templates

10.2.3 includes a number of new FireMonkey UI templates, designed to highlight FMX's multi-device capabilities, showcase best practices, and help new users get started quicker. These UI paradigms that mobile application developers need in today’s applications. The GUI templates are available for download in GetIt and include multiple UI designs for login screens, sign-up screens, profile screens, settings screens, and more.


Expanded RAD Server Support for Sencha Ext JS

10.2.2 included a new FireDAC component that helps generate JSON in a format suitable for a Sencha Ext JS client. 10.2.3 further simplifies the development of a RAD Server backend for a Sencha Ext JS client. In particular, this includes the ability to host static HTML, JS, CSS files (and any other files) in the RAD Server development and debugging server. This makes it much easier to configure your system for testing a local deployment of a solution with an HTML and JavaScript frontend (including, of course, an Ext JS solution) and a web service powered by RAD Server REST support.

RAD Studio Tokyo Release 3 also includes a new demo showing a customized EMS users management client application with Active Directory integration that can be found under Samples\Object Pascal\Database\EMS\ActiveDirectoryConsole.

InterBase 2017

InterBase 2017 Developer edition and IBLite/IBTogo 2017 are now installed if you select the respective InterBase features in the main RAD Studio install. InterBase 2017 provides monitoring of all the online databases in a server with a single connection, support for derived tables, a highly used SQL development feature, the ability to specify a period of time transactions wait for acquiring lockable resources, change view performance enhancements, and more.

InterBase 2017 Developer edition replaces InterBase XE7, which was installed until version 10.2.2. Since RAD Studio now includes InterBase 2017 as part of the main install, the separate download from GetIt available in previous 10.2 versions is disabled. The InterBase 2017 Developer license was already included in 10.2. For deploying RAD Server based on InterBase 2017, you will have to refresh the RAD Server license from the License Manager application installed with RAD Studio. Use of the local developer version of RAD Server does not require a separate license.

Additional Enhancements and Quality Improvements

10.2.3 includes a number of quality and performance enhancements across various product areas. Key additional enhancements are listed below.

MIME support improvements for REST Client library

10.2.3 significantly expands the MIME support in the REST Client library, implementing a new internal TMime class to handle the various mappings and enhancing MIME content-types in the TRESTClient component.

Delivery of the complete source code for AppAnalytics clients

10.2.3 includes the complete source code of the AppAnalytics client components and additional related libraries for FMX and VCL. Source code use is covered by the RAD Studio EULA.

EMS Wizard Naming Updates

The core technology behind RAD Server used to be called EMS Server. In 10.2 Tokyo Release 3, we have updated some of the names and captions of the RAD Server wizards and of the actual stand-alone server applications. All internal class names, APIs, and references have been left untouched for compatibility.

VCL HighDPI and Styling Enhancements

10.2.3 has improved HighDPI support for Delphi and C++ VCL applications. This includes among others:

  • VCL styles improvements for ComboBox scrollbars, Popup menu items, controls on a DBCtrlGrid, StatusBar grip, tab sheet images, date-time picker control, and accelerator keys in menus.
  • HighDPI improvements for dragged Listbox items and aligned child controls in tabs, and in the TFDGUIxFormsLoginDialog dialog.
  • Fixes for MonthCalendar control rendering, GridPanel scaling, and DBGrid scaling.

FireMonkey Enhancements

Release 10.2.3 has many significant enhancements and improvements for FireMonkey, across all platforms and particularly on Android. Some notable ones include:

  • Resolved animation and TabControl transition issues under Android, already delivered with a patch.
  • Labels font rendering (when in scrolling containers) on all platforms.
  • EContext3DException on Android 4.4 and when trying to close an Android application with the back button while debugging it.
  • Updated Android AdMob mobile support to SDK version 7.
  • Improvements to the DateEdit control, the TrackBar control on Windows, the SpinBox's OnChange event, Viewport3D control rendering on Android, and Treeview items display.
  • Exception handling on macOS High Sierra 10.13.2.

RTL Enhancements

The runtime library has numerous improvements, including:

  • Changes to System.Pas to better support third party memory managers.
  • HTTP Client library improvements in Proxy support, a more consistent stream posting implementation, forwarding cookies in a redirect and blank password.
  • DUnitX fixes for the Linux platform.
  • Changes to some Windows API calls to use dynamic invocation to offer better Windows XP compatibility (even though the platform is not officially supported).

Installer Enhancements

10.2.3 has improved error condition management in the GetIt-based feature installer, including out-of-disk space scenarios and download support for new files for an existing package in an existing folder. Also included is support for starting the IDE without admin privileges after installation and we have re-enabled the automatic installation of the integrated version of Beyond Compare.

IDE Enhancements

There are many improvements in the IDE, including:

  • 10.2.2 Welcome page fixes and improvements, already delivered with a patch.
  • Numerous dark theme improvements, like text labels font color in the FMX Style Designer, Welcome page scrollbars styling, and dialog styling improvements.
  • QuickEdit support for Copy (Ctrl + C) and Paste (Ctrl + V) operations.
  • Clipboard History improvement for multi-megabyte text copy operations and the ability to delete items.
  • Startup Layout support when opening projects from Windows File Explorer.
  • Changes to the dark editor color scheme.

FireDAC and Multi-Tier Enhancements

There have been many improvements in the data area, including:

  • Support for Double quotes in passwords, required by some of the CDATA Enterprise Connectors.
  • A few DataSnap improvements, like TDSServer OnError triggering, DSClient connection on C++, Apache Datasnap server methods with JSON parameters, and removal of memory leaks in TCP configuration.
  • FireDAC fixes to TFDQuery.OpenOrExecute, PostgreSQL DirectExecute, BatchMove support for CSV files on mobile, TFDDataSet.PSUpdateRecord, and other FDBatchMove improvements.
  • REST Debugger Enhancement: A trailing forward slash can now be added to the value of the BaseURL property when resources or parameters are empty (offering support for web services that expect the trailing slash).
  • Beside the new features mentioned above, RAD Server has improvements in CORS support and Linux / Apache stability.

Android Apps Manifest Updates Workaround

As a result of the Android AdMob update, you may encounter “Expected 4323000 but found 7095000” error message when deploying an Android application with 10.2.3 that was created with an earlier version of 10.2 Tokyo (prior to 10.2.3), this is due to the content of the manifest file not matching the new libraries used for Advertising, Maps, and In-App Billing, deployed with 10.2.3 Tokyo. The solution is to use the 'Revert System Files to Default' option in order to update the old Java imported libraries to the new ones available.

Starting from 10.2.3 Tokyo, RAD Studio generates the Android manifest file containing the new Google Play Services libraries version in the meta-data tag. The value for the 7.0.0 version is 7095000. However, existing FireMonkey applications are not being automatically updated to import the new Google Play Service libraries (google-play-services-ads-7.0.0.jar, google-play-services-analytics-7.0.0.jar, google-play-services-base-7.0.0.jar, google-play-services-identity-7.0.0.jar, google-play-services-maps-7.0.0.jar, google-play-services-panorama-7.0.0.jar, google-play-services-plus-7.0.0.jar, google-play-services-wallet-7.0.0.jar), and are still importing the old Google Play Services library (google-play-services.jar).

To resolve this issue, select Android as the target platform, right-click on Libraries, and select Revert System Files to Default to update the old Java imported libraries to the new ones available, as shown in the screenshot below:

Android manifest.png

JDK 9 Incompatibilities

The RAD Studio toolchain and the version of Android SDK installed in 10.2.3 (or previous versions), are not compatible with the latest version of Java (JDK 9).

  • If you only have JDK 1.9 installed, it is not possible to add an Android SDK entry.
  • If you have both JDK 1.8 and JDK 1.9 versions installed, and the JAVA_HOME environment variable points to the JDK 1.9 installation or java -version points to something like the '9.0.4' version, it is possible to add an Android SDK entry based on the JDK 1.9, however, it is not possible to build Delphi or C++ FireMonkey applications.
  • If you have both JDK 1.8 and JDK 1.9 versions installed, and the JAVA_HOME environment variable points to the JDK 1.8 installation or java -version points to something like the '1.8.0_162' version, it is possible to add an Android SDK entry based on the JDK 1.9 and it is possible to build Delphi and C++ FireMonkey applications.

Installing DirectX using the GetIt Installer

If you encounter an installation error using the 10.2.3 GetIt based web installer during the DirectX installation process, we recommend doing the following:

  1. When the "Operation error" occurs, Click "Close". Then, terminate the IDE.
  2. Double-click the "RAD Studio 10.2" icon on the Desktop.

Obtaining 10.2 Tokyo - Release 3

10.2 Tokyo - Release 3 is available as an installer (Feature Installer) and as an ISO (Offline Installer) from the registered users web page.

The installers for the 10.2 Tokyo - Release 3 are available for download on the following registered users download pages:

Installing 10.2 Tokyo - Release 3

  1. Run the installer. The installation wizard detects and uninstalls RAD Studio 10.2 Tokyo before installing 10.2 Tokyo - Release 3. Your settings will be preserved [1], but you can use the migration tool as a safety measure.
  2. Install 10.2 Tokyo - Release 3:
    • If you downloaded the Feature Installer, run the installer.
    • If you downloaded the Offline Installer, mount the ISO and run install_RADStudio.exe.

Installation can be performed through any of the following options:

  • Feature Installer: lets you select an initial set of RAD Studio features to install, such as support for specific combinations of programming languages and target platforms, language support, or help resources. Go to the Feature Installer for detailed information.
  • Offline Installer: lets you install RAD Studio on a system that does not have a working internet connection. After you install RAD Studio, the Offline Installer allows you to install additional features or remove installed features. Go to Using the Offline Installer for detailed information.

  1. 1 To preserve your existing installation settings, it is recommended to install 10.2 Tokyo - Release 3 using the same installer (Offline Installer or Feature Installer) you used when installing 10.2 Tokyo. To determine which installer you used, verify if the IDE shows the Manage Platforms option under the Tools menu. If the menu item is available it means you used the Feature Installer.

Note: When the installation finishes, if you are asked to uninstall the Windows SDK, click Cancel. The versions of the Windows SDK in RAD Studio 10.2 Tokyo and RAD Studio 10.2 Tokyo Release 3 are the same.

Updating the Platform Assistant

The Platform Assistant server is required for cross-platform application development that targets either OS X or iOS. RAD Studio 10.2 Tokyo Release 3 contains new versions of the Platform Assistant installers (including setup_paserver.exe and PAServer19.0.pkg). The installer files are located in the PAServer folder.

Uninstalling a Previous Version of 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.

Note: Several versions of the Platform Assistant can coexist on a system, as long as you run each version on a different port.

Installing 10.2 Tokyo - Release 3 Platform Assistant

See Also

Personal tools
RAD Studio 10.2 Tokyo
In other languages
Previous Versions