Table of Contents
12 times 12 new features in Delphi 12
RAD Studio 12 includes some great improvements for C++Builder and the launch webinar and other online content highlights it. However, it is also a fantastic release for Delphi developers. I compiled 12 lists with 12 improvements each for Delphi 12. So this is not a list of 12 improvements for Delphi 12. It’s a list of 12×12=144 improvements, plus half a dozen for native Windows bringing the total to a whopping 150 – excluding all the existing improvements for C++Builder, as here I want to underline the Delphi side (but most of the features below are in fact for both languages).
- The first blog post had 3 x 12 VCL Enhancements in Delphi 12, as you can read at https://blogs.embarcadero.com/3-x-12-vcl-enhancements-in-delphi-12/.
- The second blog post focused on FireMonkey and the Android platform support, as you can see at https://blogs.embarcadero.com/3-x-12-firemonkey-and-android-enhancements-in-delphi-12/.
- The third installment had three lists focused on three related areas, Delphi Runtime Library (RTL), database access, and Internet access, as you can see at https://blogs.embarcadero.com/3-x-12-rtl-data-and-internet-enhancements-in-delphi-12/
- This last blog post of the series has 12 entries each for the IDE, the installer, and the Delphi language. Plus a bonus 6 on Windows API integration, bringing the overall total to 150.
In the IDE
-
- The Find in Files dialog now has a new ‘Subdirectory exclude mask’ option
- Syntax highlighting has been added to Error Insight hints, Navigation toolbar, Call Stack
- The Structure view syntax highlights methods and types and has syntax highlighting added to the Error Insight messages
- The Options > IDE > Saving and Recovering page has a new checkbox to save the editor state
- The Markdown window now changes colors when the IDE theme is changed
- The Welcome Page now supports smooth mouse wheel scrolling
- GDI bitmap counts is lower through the IDE as images are made dormant if not used for some time
- Code templates and language keywords can now be displayed in Delphi LSP-based code completion
- Code completion now adds array braces [ ] for array types
- All Platforms Single Icon Wizard
- PAServer messages, including hints, will be shown in the IDE Messages pane
- New ToolsAPI, IOTARawEditReader interface
Below: The All Platforms Single Icon Wizard
In GetIt and the Installer
-
- The Platform Manager has been renamed to Feature Manager
- The Feature Manager has a completely new UI, build with regular VCL controls and styles
- The Feature Manager offers all options in a single page
- The Feature Manager separates the languages and the platforms you want to install
- The Feature Manager includes preset configurations for common scenarios like Desktop or Mobile
- The Feature Manager has a new “Errors” button that shows installation errors directly and has a direct link to the error log file
- The GetItCmd command line tool is now logging to the GetItInstall.log file
- The GetIt package manager has the option to load multiple local GetIt packages with a single operation
- The integrated version of DUnitX has been updated
- The integrated version of Indy has been updated
- The long deprecated VCL translations tools has been removed from the core product installation
- The fairly old Modeling support has become an optional feature in the Feature Manager
Below: The new Feature Manager window
And, Finally, in the Delphi language
-
- Long literal string With more than 255 characters
- Multiline string literals
- TEXTBLOCK directive to specify the line breaks format of multi line strings
- NativeInt, a type mapped to Integer or Int64 depending on the platform, is now a weak type alias
- Improved warnings in generic classes
- New LLVM symbol defined in all LLVM-based Delphi compilers
- Option to export the units uses graph in a GraphViz file (–graphviz)
- Ability to exclude family of units form the GraphViz file (–graphviz-exclude)
- Support for NaN (not a number) comparisons as required by IEEE
- Optimized generated code for div operations when the divisor is a constant
- Two new functions to the System unit, GetCompilerVersion and GetRTLVersion
- Floating-Point Exceptions are now disabled by default on all Platform
Below: Multiline Delphi string literals in the IDE
Bonus Section: In Windows Platform
-
- New WinAPI definition based on WinMD Microsoft metadata (311 header files with 41 MB of Delphi code)
- WinRT APIs and WebView 2 control API refreshed to the most recent version
- Edge browser: UserAgent is available in ICoreWebView2Settings; ICoreWebView2Profile2 contains methods ClearBrowsingData, ClearBrowsingDataAll, and ClearBrowsingDataInTimeRange; TEdgeBrowser OnDownloadStarting event, NavigateWithWebResourceRequest method, Print and ShowPrintUI methods
- New Windows 11 Styles
- TForm class EnableImmersiveDarkMode method and RoundedCorners property for Windows 11
- Title Bar support for Windows 11 snap layouts (see image below)
Snap Layout for TitleBar work also for the IDE
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition