Skip to content

D28.ALEXANDRIA.11.0.0.0

Darian Miller edited this page Aug 25, 2022 · 86 revisions

Delphi 11 Alexandria

Embarcadero RAD Studio 11 Alexandria

Related: Delphi Master Release List, D28.ALEXANDRIA.11.0.0.1, D28.ALEXANDRIA.11.0.0.2, D28.ALEXANDRIA.11.1.0.0

RAD Studio 11.0 Splash Screen

Version Detail

Product Version Studio Version Compiler Version IFDEF Package ProjectVersion Registry Build Number
28 22.0 35.0 VER350 280 19.3 \Software\Embarcadero\BDS 28.0.42600.6491

Shipped With

Windows SDK Android Java
10.0.19041 SDK 25.2.5 - NDK r21 AdoptOpenJDK 8.0.242.08-hotspot

New Features

  • Major focus on the IDE
    • High DPI IDE and VCL Designers
    • Enhanced Remote Desktop support
    • Completely rebuilt Welcome Screen
    • Multi-monitor and multi-window improvements
    • New editor fonts included, default font changed to Consolas
    • Much faster load time of Tools->Options and Project->Options screens (delayed load of individual pages)
    • New build event warnings added
  • LSP
    • DelphiLSP exension available for VSCode
    • LSP awareness of Include files
    • Class helper support
    • The original 'Classic' code completion has been removed from this version
  • Language
    • Support for binary decimals and digits separator in code
    • Introduced support for asm code for newer sets of instructions, including AVX2 (ymm) and AVX512 (zmm)
  • VCL
    • VCL styles displayed in the Form Designer
    • Rich Edit control updated with new features (MSFTEDIT.dll 4.1)
    • Memo and RichEdit Margins
    • Radio group without frame (ShowFrame, HeaderFont and DefaultHeaderFont properties)
    • Added checkbox support in TreeViews
    • New TDBLabeledEdit component
    • Default form size and font increased in size
    • Enhanced Remote Desktop support
    • TScrollBox automatically supports mouse wheel
    • New TControl.RaiseOnNonMainThreadUsage property (if you are creating a VCL element in a background thread)
    • Function ScaleImage supports Alpha Channel
    • TDateTimePicker control supports new option to support editing date and time simultaneously
    • The new default font name used for forms and new TFont instances is Segoe UI (previously Tahoma)
  • FMX
    • FireMonkey for Windows now uses the same DP model (rather than Pixel model) of all platforms, offering a significant enhancements of the apps rendering on Windows HighDPI and 4K monitors.
    • New form designer guidelines
    • TWebBrowser supports MS Edge on Windows
  • Platforms
    • New platform: Delphi macOS 64bit ARM compiler (M-Series Apple Silicon) and toolchain that includes building universal binaries for Intel/Arm AppStore submissions
    • Now officially supporting WSL 2 (Windows Subsystem for Linux)
    • Note: 32-bit iOS simulator dropped, to be supported again in the near future
    • Android API Level 30 Support
      • AndroidX (JetPack)
      • Gloogle Play V3
      • Google Play Billing Library Version 4
      • Android support for multiple classes.dex files, simplifying integration of external Android dependencies.
  • RTL
    • TZipFile 64-bit improvements including supporting files greater than 4GB
    • New TNoRefCountObject class (non-reference-counted IInterface implementation)
    • New record helpers for TDateTime and TCurrency
    • HTTP and REST client libraries have been extended with timeout mechanisms, support for HTTP/2, TLS 1.3, Base64 URL Encoding
    • New component TRESTRequestDataSetAdapter simplifies uploading datasets to RAD Server
  • FireDAC
    • Updates for PostgreSQL, Oracle and Firebird
  • DataSnap
    • REST URL mapping logic is now fully configurable
  • RAD Server
    • New low-traffic RAD Server Lite allows unlimited deployment of your multi-tier solutions, alongside with the fully scalable RAD Server engine
  • GetIt Package Manager
  • Reminder: RAD Studio 11 is not binary compatible with the prior version, RAD Studio 10.4.2
    • There are questions for every upgrade. Major version numbers are not binary compatible with other major version numbers.
    • See older binary compatibility blog post for details

Official Product Links

Some reported new version issues

  • NOTE: Preliminary info - not all of these are confirmed

  • Backwards incompatibility in TSocket timeouts RSP-37778 New timeouts for TSocket in Delphi 11 cause immediate timeout by default

  • Many reports of license errors during installation. Some workarounds published here

    • https://supportForms.embarcadero.com appears overloaded, having problems servicing requests during the initial days of release
    • Some license problems reported that the Professional version was not authorizing Mobile development.
    • Note: license problems seem to be resolving a few days after release on Tuesday, Sept 14.
    • Note from Marco on RSP-35468 on Sept 15: most cases have been fixed (requiring an update to the license via license manager) but some corner cases still exist
  • Few reports of Text Size being too small in the IDE (suggested workaround is adjustment to registry entry: BDS\22.0\Theme\FontSize)

  • Some items within the IDE are not displayed properly with HighDPI settings:

  • Toolbar customizations are lost RSP-34850

    • DPI Unaware and HighDPI Toolbar settings are not same RSP-35487
  • Wrong version of offline help files included (10.4 Sydney) RSP-35355 (Workaround is to download latest CHM from here)

    • Note: RSP-35355 closed as won't fix: "We will not be recutting the 11.0 build. However, help can be found at docs.embarcadero.com"
    • This issue also closed as duplicate/resolved: RSP-35494
  • The provided CodeFormatter still does not support new language features, this time the Binary Literals and Digit Separators RSP-35318

  • GetIt issues reported:

    • Reminder: if using ISO to install in offline mode, put GetIt into online mode via GetItCmd.exe -c=useonline (as statedin Release Notes)
    • IPWorks is not in GetIt RSP-35382
    • Konopka VCL Controls (KVCS) usage yields "compiled with different version" error. (Workaround is to rebuild from source) RSP-35363
      • Note - KVCS has been temporarily removed from GetIt until the problem is resolved
      • KVCS and RadiantShapes now available in GetIt (2021-09-20)
  • Version backward compatibility issues to consider

    • Some problems related to HighDPI support
      • GroupBox headerfont is not scaling in run-time RSP-35484
      • VirtualImageList images grow when HighDPI=Auto (Monitor Scale = 200) RSP-34913
        • suggested workaround is to run RAD Studio in dpiUnaware mode via bds.exe /highdpi:unaware
        • Update addressed in D28.ALEXANDRIA.11.0.0.1
      • Programs built with dpi>96 run corrupted in 96dpi RSP-35312
      • Scaling of (sub)controls in HDPI broken in VCL RSP-35552
    • RDP / Remote Desktop Support enhanced in this version. Some possible regressions
    • REST issues reported
      • REST request suddenly returns error after update to Delphi 11 RSP-35522
      • Behaviour of adding REST parameters has changed between Delphi 10.4.2 and 11 RSP-35365
        • Workaround suggested in comments of RSP-35365
      • TRESTRequest for Post request sends parameter in the URL instead within the body RSP-35341
        • Possible duplicate of RSP-35365
    • Opening DFM from prior version containing TNumberbox.CurrencyFormat yields errors RSP-35407
    • FireMonkeyVersion = 270 in FMX.Types.pas which is the same value used in 10.4. RSP-35401
    • TScrollBox.OnMouseWheel is not called RSP-35333
    • Possible RTTI problems in the latest release:
      • RTTI can't access information about Enum types with assigned values different than 0 RSP-35373
    • Note: many previously deprecated enumerations (mostly created during the switch to scoped enums) have been removed from RAD Studio 11 source
      • Example code now removed from FMX.Types.pas
  TFormStyleHelper = record helper for TFormStyle
  const
    fsNormal = TFormStyle.Normal deprecated 'Use TFormStyle.Normal';
    fsPopup = TFormStyle.Popup deprecated 'Use TFormStyle.Popup';
    fsStayOnTop = TFormStyle.StayOnTop deprecated 'Use TFormStyle.StayOnTop';
  end;
  • Can no longer build executables for Windows XP without customization:
    • Update addressed in D28.ALEXANDRIA.11.0.0.1
    • Project Options->Building->Delphi Compiler->Linking->Set OS Version fields in PE Headers (and Set SubSystem Version fields in PE Headers" to 5.1 (it now defaults to 6.0)
    • If you use System.Threading, then need to change GetTickCount64 references to a new routine matching something like the code below and then use a modified system.thread.dcu in your projects (or update \lib\win32\debug and \lib\win32\release with new versions of System.Threading.dcu)
    • More info from Michal Mutl on Delphi PRAXIS forum message
function _GetTickCount64: UInt64;
begin
if TOSVersion.Major<6 then
  Result := TThread.GetTickCount
else
  Result := TThread.GetTickCount64;
end;
  • XP Compatibility notes

    • As reported by Marco Cantu on Delphi PRAXIS, better HighDPI support was the reason for the PE header change. And the GetTickCount was un intentional.
    • Changing the PE format to target newer versions was a design decision. It's the same Visual Studio does. And it does make a difference in the results when invoking some HighDPI related Windows APIs. They fail to return the right value if the app is for XP, so if you change the PE setting (doable) you'll have some trouble on the latest systems. The introduction of an XP breaking issue with GetTickCount64 was not intentional and discussed. We don't test on XP by design, no one in the beta did, most likley. While we don't officially support XP, such a simple change is doable -- as long there is zero impact on newer systems and it costs a limited time. I doubt we'll release a patch for it, though...
  • High DPI form designer notes from David Millington

    • "the IDE loads the designer scaling to low DPI (96 DPI) in order to have zero impact on forms. You can scale the designer however you like - I recommend Automatic, which scales it to match whatever scale the IDE is at. If you work as part of a team and everyone has different screen scales, you can pick a specific scale you all want to use across the team and set that instead. See the doc page on high DPI in the VCL form designer here. Note that TForm.Scaled must be set to True, and also avoid using ParentFont due to issues scaling when inheriting fonts."
    • "Have you tried turning on scaling in the form designer? Tools > Options > User Interface > Form Designer > High DPI. Turn it to Automatic and it will match the scaling of the IDE. We left the default as low DPI (96) for the least impact - it means forms are left exactly the same when opening in v11. But I can see this is confusing and it may not have been the right decision."
    • In response to transition issues when selecting a new DPI, changes are saved to the DFM. "Yes. This is why we made designing at low-DPI the default - this means no changes. The changes in the DFM are unavoidable really; we may be able to scale it back to 96, but repeated scaling changes are a Bad Idea since all DPI scaling on Windows uses integer math, and with too many changes you can get controls or sizes moved incorrectly. It's better to design at something and scale at runtime (one change) than to design, save and rescale, and scale at runtime (two changes, or possibly multiple since it will upscale and downscale every time you open it.)"
    • "The best thing there is to keep designing at low DPI (96) in v11, so that your DFMs can remain the same. Then once you're comfortable with v11 you can switch on high DPI designing across all your team at once. For a team we recommend choosing a specific DPI (eg 192DPI or 200%) so that all DFMs are unchanged across your team, once you first update them."
    • Related note from online help: "The design DPI is saved in the form DFM and affects the pixel coordinates and sizes of controls (such as Left and Height.) This means that opening a form changes the values that will be saved to the DFM file. If your team uses multiple different scaling settings among team members, you can set the User Editable option on each computer to have a consistent common scaling for all forms among all team members."
    • FMX related help note: "The FireMonkey designer scales a form the same way an FMX form does at runtime. Coordinates remain the same, it is only a visual scaling. That means that a button placed at (20, 20) will be at (20, 20) no matter the high DPI scaling of the monitor the FMX designer is on."
    • High DPI requires Windows 10, from memory Creator’s Update or newer (perMonitorv2 support.) High DPI is not supported on Win 7 or Win 8.

RAD Studio 11 Links

Third Party support for RAD Studio 11

Pre-Release Links

Images

RAD Studio 11 Alexandria RAD Studio 11 Alexandria change summary High DPI IDE High DPI enabled form designer Active Styles in VCL Designer More changes in RAD Studio 11 IDE New Welcome Page Delphi LSP Support in Visual Studio Code Delphi Improvements Delphi RTL & Data Improvements Web Technology Improvements VCL Modernization work FireMonkey improvements FMX TWebBrowser with Edge supported on Windows C++ Quality and Delphi interop improvements Installer Improvements New Icons and Splash Screen

New features in the Rich Edit control

Rich Edit example

New TDateTime class helper

TDateTime class helper example

Clone this wiki locally