Skip to content

D27.SYDNEY.10.4.0.0

Darian Miller edited this page Jun 15, 2020 · 96 revisions

Delphi 10.4 Sydney

Embarcadero RAD Studio 10.4 Sydney

Related: Delphi Master Release List

RAD Studio 10.4 introduces a wealth of new features and improvements across three main products (RAD Studio, Delphi, and C++Builder), expanding on VCL for best-in-class Windows 10 applications, FireMonkey for multi-device development for Delphi, developer productivity enhancements to the IDE, and more!

10.4 Now Available!

Child Pages

Links

External Info Snapshots

Pre-release links

  • 2020-05-24 Blog Post by Ideas Awakened Delphi 10.4 Sydney is the best tool for creating Windows Applications

  • 2020-05-25 Blog Post by Erik van Bilsen Boost Mac performance with Metal and Delphi 10.4

    • Latest changes in 10.4 help to address the slow native GUI render performance on macOS
    • Delphi still defaults to using CoreGraphics, CoreText and OpenGL for backwards compatibility reasons
    • To activate, set GlobalUseMetal := True; in your DPR, before forms are created. (Ensure FMX.Types is also added to DPR)
    • Be aware that using Metal will disable the use of CoreText for text layout, and use TGPUTextLayout instead but that currently doesn't support advanced layout features, bi-directional text, nor language-specific line breaking.
  • 2020-05-24 Blog Post by FlixEngineering Delphi 10.4: Code completion with new language features (e.g. inline var)

  • 2020-05-24 (Czech) Blog Post by Radek ČervinkaMay Delphi 10.4 - expected news - RTL, updates

    • Discusses the new changes made to FreeAndNil and the new IDE update notification feature for new patches.
  • 2020-05-24 (French) Blog Post by Patrick Prémartin Managed records in Pascal

    • Discusses the new Initialization and Finalization operations on records
      • Initialize triggered when declaring a variable
      • Finalize triggered when variables falls out of scope (even after exceptions)
  • 2020-05-22 Blog Post by Marco Cantu Coming Delphi 10.4 Runtime Library Enhancements

    • New bit counting standard functions
      • Count leading zeros
      • Count trailing zeros
      • Count population
    • TCustomIniFile has new methods: WriteInt64, ReadInt64
    • TGUID has a new IsEmpty method
    • The Items property of JSONArray is now a default property simplifying code (myJArray[2] instead of myJArray.Items[2])
    • Multiple performance improvements in the RTL were listed
    • The signature for FreeAndNil was updated to generate a compiler error for unsupported types, helping to prevent hard to find bugs. This is a very nice improvement with no obvious downside.
    • Specific changes listed to focus on for potential change in behavior:
      • The CopyFrom function of TStream has a larger default buffer (was 60KB and is now 1MB) and the method now exposes a new parameter so you can override this default buffer size
        • function CopyFrom(const Source: TStream; Count: Int64 = 0; BufferSize: Integer = $100000): Int64;
      • TStringHelper.GetHashCode has been updated to no longer uppercase the string before hashing it
  • 2020-05-22 Blog Post by Danny Wind iOS storyboard support in Delphi 10.4

    • Apple requiring iOS storyboard support by June 30th, which is supported by Delphi in the upcoming 10.4 release
    • Use Project Options->Icons to reconfigure your launch images
  • 2020-05-22 Blog Post by FlixEngineering Delphi 10.4: Code completion matches anywhere…

    • Code Insight returns items that contain search text, greatly improving usability
  • 2020-05-21 Blog Post by Atanas Popov Open for Business with 10.4! - May 2020 GM Update

    • Next week we will officially launch 10.4 (Sydney)

    • 10.4 contains over 1,000 quality improvements and features
    • Based on recent survey, 40% of users use FireMonkey to develop mobile applications
  • 2020-05-21 (French) Blog Post by Patrick Prémartin Delphi 10.4 Sydney is coming soon. Are you ready ?

    • Hundreds of fixes, optimizations, improvements and changes coming in 10.4
    • High DPI improvements in the IDE
  • 2020-05-21 Blog Post by Marco Cantu May 27 Webinar: See What's Coming in RAD Studio 10.4

    • I'll help presenting slides and demoing some of the new Delphi features and also be available for the questions and answers session at the end. Expect this to go well over one hour, as we have a lot to show!

  • 2020-05-19 Blog Post by Marco Cantu GetIt Package Manager Enhancements Coming in RAD Studio 10.4

    • GetIt Package Manager major updates in 10.4
      • Each entry now has a release date/timestamp allowing sorting by date and detecting if an update is available
      • Can now filter list by items with updates available
      • GetIt is now used to distribute patches for RAD Studio with the Welcome Page including a new section to display when a patch is available
  • 2020-05-15 Blog Post by Dalija Prasnikar Delphi Nullable with Custom Managed Records

    • Provides an easy TNullable implementation with new automatic initialization of custom managed records
type
  TNullable<T> = record
  private
    FHasValue: boolean;
    FValue: T;
    function GetValue: T;
    procedure SetValue(AValue: T);
  public

    class operator Initialize(out Dest: TNull<T>);
    
    property HasValue: boolean read FHasValue;
    property Value: T read GetValue write SetValue;
  end;

class operator TNullable<T>.Initialize(out Dest: TNullable<T>);
begin
  Dest.FHasValue := False;
end;
  • 2020-05-15 Blog Post by Uwe Raabe Delphi 10.4 leverages VCL Styles

    • VCL Styles: support added for High DPI styles leveraging TVirtualImagelist connected to a TImageCollection
  • 2020-05-15 Blog Post By Marco Cantu VCL Per-Control Styles Coming in RAD Studio 10.4

    • To start, you need to add multiple styles to an application, and one needs to be active
    • This feature is controlled by a new StyleName property for the TControl class.
    • By default, TControl.StyleName is empty and control uses a default style.
    • You can define a specific style also for common dialogs. Use the property TStyleManager.DialogsStyleName By default, it is empty and common dialogs use the default style of the application.
    • When you set the TStyleManager.UseSystemStyleAsDefault to true: if some control or form has an empty StyleName property, then it will always use 'Windows' style and VCL Style will be always disabled on it. (Helps with third party controls styling)
  • 2020-05-13 Blog Post by Delphi Worlds API enhancements and fixes coming

    • No more dependence on QTKit (no more annoying warnings when uploading to the macOS App Store)
    • TWebBrowser on macOS + iOS has been migrated to use WKWebView. (Again no more warnings when uploading to app store + it now supports playing MP4 files from web pages that are navigated to)
    • 3 new properties added to TLocationSensor for iOS: ActivityType, UsageAuthorization, OnLocationUpdatesPausedChanged event
    • Location updates now occur when the app is in the background, or even when the app is not running if UIBackgroundModes included in the Project Options.
  • 2020-05-12 Blog Post by Marco Cantu New VCL TEdgeBrowser Component Coming RAD Studio 10.4

    • VCL TWebBrowser has a new property SelectedEngine which can be used to ask it to use the newer Edge (Chromium) WebView2 browser control if available on the target machine (versus Internet Explorer)
  • 2020-05-12 (Czech) Blog Post by Radek ČervinkaMay Delphi 10.4 - expected news - LSP

    • Summary: accuracy, speed, asychrony, no memory limits - this is the LSP in Delphi 10.4

  • 2020-05-11 Blog Post by TatukGIS RAD Studio 10.4 Coming Soon

  • 2020-05-11 Blog Post by Frank Lauter #Delphi104 - ComingSoon

  • 2020-05-08 Blog Post by Marco Cantu Custom Managed Records Coming to Delphi 10.4

  • 2020-05-07 Pre-Release sales offers now available, use the discount code 10.4EARLYBIRD for Delphi and 10.4EARLYBIRD-C++ for C++ Builder. Upgrade and you’ll get 10.4 as soon as it releases, plus every new release for a full year. (Current offer is a 30% discount.)

  • 2020-05-06 Blog Post by David Millington New in Delphi 10.4: Redesigned Code Insight

    • Code Insight returns items that contain search text, greatly expanding results
    • With new LSP-based Code Insight, you should never see incorrect errors in the editor or the Structure pane. (Error Insight will always be correct!)
    • Search through code completion options dynamically
    • Sort order option that defaults to 10.3 behavior but can be changed to sort by scope instead (similar to Visual Studio)
    • Can now use Code Insight while debugging
  • 2020-04-28 Invitations to Update Subscription customers to join the Denali beta are being sent out. Invitations include a digital signature process which requires 1-2 business days for processing the NDA request before beta access is granted.

  • 2020-04-14 The second phase of Beta testing begins as invitations to request access are now being sent to Update Subscription customers who have until 2020-04-21 to sign up.

  • 2020-03-26 New multi-phased beta process announced.

    • After MVPs and Technical Partners, all Update Subscription customers will have the opportunity for early access to the private beta under NDA.

10.4 Images

New Feature: Code Insight returns all items that contain text

Code Insight returns all items that contain text


New Feature: Search Code Insight results

Search Code Insight results


New Feature: Code Insight sort option

Code Insight sort option


New Feature: Code Insight active while debugging

Code Insight active while debugging


New Feature: Multi-processor architecture supporting LSP based Code Insight

Multi-processor architecture supporting LSP based Code Insight


New VCL Titlebar component

New VCL Titlebar component


New Feature: Microsoft Edge Browser support

Microsoft Edge Browser support


VCL New Feature: Per Control Styling

Per Control Styling Example


GetIt Updated, enhanced entry details

Enhanced Entry Details


GetIt Updated, update option available

Update Option Available


GetIt Updated, patch check on startup

GetIt IDE Patch Check On Startup


GetIt Updated, patch notification if available

GetIt IDE patch notification if available


10.4 Overview

RAD Studio 10.4 Overview


Crisp High DPI

Crisp High DPI


Improved Windows platform support

Improved Windows platform support


Improved cross platform support

Improved cross platform support


Performance enhanced RTL

Performance enhanced RTL


Delphi language enhancements

Delphi language enhancements


C++ Builder enhancements

C++ Builder enhancements


IDE enhancements

IDE enhancements

Clone this wiki locally