10.2 Tokyo - Release 3
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.
- 1 CMake Command-Line Support
- 2 New Win32 compiler driver, bcc32x
- 3 Rename Refactoring for C++Builder
- 4 Inclusion of Mobile Support in Delphi and C++Builder Pro
- 5 FireMonkey UI Templates
- 6 Expanded RAD Server Support for Sencha Ext JS
- 7 InterBase 2017
- 8 Additional Enhancements and Quality Improvements
- 8.1 MIME support improvements for REST Client library
- 8.2 Delivery of the complete source code for AppAnalytics clients
- 8.3 EMS Wizard Naming Updates
- 8.4 VCL HighDPI and Styling Enhancements
- 8.5 FireMonkey Enhancements
- 8.6 RTL Enhancements
- 8.7 Installer Enhancements
- 8.8 IDE Enhancements
- 8.9 FireDAC and Multi-Tier Enhancements
- 9 Android Apps Manifest Updates Workaround
- 10 JDK 9 Incompatibilities
- 11 Installing DirectX using the GetIt Installer
- 12 Obtaining 10.2 Tokyo - Release 3
- 13 Installing 10.2 Tokyo - Release 3
- 14 Updating the Platform Assistant
- 15 See Also
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.
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
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
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.
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.
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).
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.
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
com.google.android.gms.version 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:
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 -versionpoints 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 -versionpoints 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:
- When the "Operation error" occurs, Click "Close". Then, terminate the IDE.
- 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:
- Delphi Tokyo: http://cc.embarcadero.com/reg/delphi
- C++Builder Tokyo: http://cc.embarcadero.com/reg/c_builder
- RAD Studio Tokyo: http://cc.embarcadero.com/reg/rad_studio
Installing 10.2 Tokyo - Release 3
- 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 , but you can use the migration tool as a safety measure.
- 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
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 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
PAServer19.0.pkg). The installer files are located in the
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.