RAD Studio 12 / Delphi 12

Written by Marco Geuze

06 November 2023

Embarcadero has released the beta of RAD Studio 12 recently, with quite some updates to C++Builder. But, as Delphi developers, we are really happy to see all the improvements to Delphi too! So, let’s dive in and see what is coming to Delphi 12!

Skia: The new foundation for FireMonkey

FireMonkey has traditionally used styles to abstract UI rendering. These styles determine the appearance and functionality of UI elements across various platforms, including DirectX and Metal. Recently, the Skia library implementation for Delphi has been developed by Delphi enthusiasts in Brazil, providing a detailed abstraction for these platforms.

Skia itself is recognized for its capability in 2D graphics applications, with Google’s Chrome browser being one of its notable users. The library, developed by Google, emphasizes performance. Users of the Skia4Delphi library might be familiar with its features. RAD Studio now integrates Skia, which leads to improved rendering speeds and offers more components with a Skia-based driver.

The VCL MDI forms gets a Makeover

For those of you using legacy VCL applications with MDI forms, upgrading Delphi applications has always been a challenge. VCL has been improved a lot, for example by integrating HighDPI, newer platform controls, and so on. But, the MDI model had been left in the past – until now.

The MDI (Multiple Document Interface) is an age-old UI design. Think of it as having multiple windows nested within a primary container window. Despite being dated, it’s effective, and many projects are built with this. However, it’s had its share of setbacks, especially with HighDPI monitors.

Embarcadero has taken note and has revamped the VCL MDI model. It’s still rooted in the core platform API, but major issues have been addressed. Plus, there’s a new tab-based UI for hosting MDI forms.

String literals get a facelift

Delphi’s Object Pascal permits string literals and static strings embedded in code. Historically, these were limited to “short strings” with a 255-character cap. With Delphi 12, that changes.

  • Long String Literals: Delphi 12 now supports 4K characters per line.
  • Multiline Strings: Delphi 12 introduces multiline strings, enclosed by a triple quote (”’). This syntax makes it really easy to use multiline strings, without having to use the ‘+’ sign.

Weak alias data types

Apart from the significant extensions to string literals, Delphi 12 brings more enhancements in the language, some of which might not be as immediately apparent. Unlike standard alias types, which create new, identical types, weak aliases are direct substitutes for original types. The driving force behind this is improved compatibility between 32-bit and 64-bit applications.

Previously, NativeInt could act as a strong alias for both Integer (on 32-bit platforms) and Int64 (on 64-bit platforms). This sometimes led to ambiguous compiler calls. Now, in Delphi 12.0, NativeInt is a weak alias, meaning it can’t coexist with its counterparts in overloading scenarios.

This shift, designed to promote clearer 32-bit/64-bit compatibility, may require code adjustments, especially for 64-bit applications. Despite potential initial challenges, this change aims to simplify and future-proof the Delphi language.

Wrap up

As you can read, we are very much looking forward to the new Rad Studio / Delphi 12 release! These features we talked about are available in the current Yukon beta, available to customers with an active update subscription. If you are in that group and haven’t received an invite, you can contact Embarcadero or a sales partner and ask for the signup link.

If you don’t have an active subscription, you can consider buying a new license or contacting sales, and once you have a license you can ask to join the beta.

This blog post is based on a pre-release version of the RAD Studio software, and it has been written with specific permission by Embarcadero. No feature is committed until the product GA release.


Let us help you to realise your ambitions

GDK Software UK

(+44) 20 3355 4470

GDK Software USA

+1 (575) 733-5744