Yesterday, May the 26th, Embarcadero released the new version of Delphi.
The new Delphi 10.4, named “Sydney”, is shipped with many improvements and new features in many sections. We will enumerate some of them in this post.
First, there are many additions to the Delphi language, such as :
- Custom managed records : the Delphi record type now supports custom initialization, finalization, and copy operations. Giving the ability to customize how records can be created, copied and destroyed. With specific code executed with the specific step.
- Unified memory managment : As of 10.4, all supported platforms use the classic implementation of object memory managment (providing better compatibility with existing code and simple coding for libraries, components and applications) instead of the Automatic Reference Counting (ARC).
The VCL was enhanced with new components which are :
- TEdgeBrowser : a new web browser that uses Microsoft’s new Edge WebView2 (based on Chromium, which offer more performance and security compared to the old TWebbrowser, based on Internet Explorer).
- TTitleBar (along with TForm.CustomTitleBar property) : a new component to replace the classic title bar in Windows apps with a new customized title bar.
- TVirtualImage : a new image component that supports multiple resolutions and DPI scaling. It replace the classic TImage component in order to allow you gaining high-quality image scaling and display.
The VCL controls and styles were updated to support high DPI and 4K monitors. UI controls can be automatically adjusted to the resolutions of the monitor.
In addition, now it is possible to use multiple VCL styles on the same form.
FMX components and targets
- TBufferedLayout : a new visual component for nesting child forms, it provides faster scrolling.
- Metal API support for macOS and iOS.
- iOS Storyboard support.
- FMXLinux integration for building Linux GUI applications (available for Enterprise and Architect Edition customers)
- TWebBrowser implementation on iOS using WKWebView API.
- Media Player control implementation on macOS using AVFoundation.
- Targeting the latest versions of the supported operating systems (macOS 11 Big Sur, iOS 14, Android 11).
The FireDAC framework was enhanced with updated drivers for FireBird, InterBase, PostgreSQL, SQLite, etc.
For the SQLite, the choice for EngineLinkage property (between Static or Dynamic) for the SQLite embedded database was added.
- The Code Insight was improved with a Delphi implementation of LSP (Language Server Protocol) which provides code completion suggestions using calculations done on a separate process. Now the IDE will gives accurate code completion results and will never freeze while finding them.