Tag Archives: delphi

RadStudio and Delphi 11.1 just became available

The RadStudio and Delphi 11.1 version just got released

It doesn't include that many groundbreaking and exciting new features, but still has some nice things and many many bugfixes added.

Download it from here:

ISO Offline File
Online Installer

Here are the included new features aswell as the many bugfixes:

 

11 Alexandria - Release 1

 
 

Updated RAD Studio 11.1 Alexandria release available (March 15th, 2022).

RAD Studio 11 Alexandria - Release 1 (also known as 11.1) is available for installation. RAD 11.1 builds on the feature set of 11, enhancing existing features throughout the product and adding new capabilities. Delphi 11, C++Builder 11 and RAD Studio 11 are available to download to any active Update Subscription customer.

RAD Studio 11.1 has a strong focus on quality improvements. Key quality focus areas include:

  • IDE
  • Remote Desktop
  • Delphi and C++ Compilers
  • C++ Toolchain
  • Delphi LSP
  • C++ LSP
  • Delphi RTL
  • VCL
  • FireMonkey
  • Data
  • Internet

Key Enhancements by product area in 11.1

IDE Enhancements

General IDE Improvements

  • The “Start working” operation after the installation is completed effectively restarts the IDE, so that the first execution will be done with user permissions, instead of elevated permissions.
  • ‘Enable runtime themes’ is now turned on in the Base configuration of a project.
  • The ProjectRoot in a dproj/cbproj file should always sort consistently.
  • The IDE Wait dialog’s ToolsAPI interface has had some parameters renamed to better reflect their functionality
  • The ‘New Edit Window’ menu item is now disabled when a view does not support cloning. This includes the Welcome Page, which can’t be duplicated or dragged out to another window.
  • The Options > Saving and Desktop page has been split into two new pages:
    • Saving and Recovering (contains auto-recover and auto-save options)
    • Desktop and Layout (contains the remainder of the options.)
  • You can now change the colors used for errors, warnings and hints in the Messages view in the Options dialog. You can set different colors for each IDE theme, i.e. set different colors for light and dark or other themes.

Build log.png

  • We added Styling support to some minor dialogs used by the IDE, such as asking the user to confirm or warn about overwriting files, checking for Unicode project names, and using an invalid codepage.
  • The issue where a project file might have an inconsistent sort order in the deployed files, meaning it will change without its meaningful content changing is fixed.
  • The default C++ console app has been improved, and creating a console app is now a fast shortcut on the File > New (and Create New) menus for both C++ and Delphi.
  • A small number of items from the IDE Fix Pack have been integrated.
    • The IDE toolbars such as editing toolbars.
    • Missing scrollbars in the Options dialog pages.
    • Object Inspector rendering glitches.
    • The IDE and code editor went blank when debugging.
    • Special keys (such as Windows key) in the FMX form designer text input.
    • The list mode in the Projects view.
    • A variety of exceptions and many more.
  • The New Items dialog shows platforms for all items.

Compile dialog.png

  • The New dialog where you can add items to your project hides items based on the project’s active platform.
  • The New dialog also supports multiple view styles, rather than just a vertical list (card, list, icons, and small icons.)
  • The New Items dialog now uses the TControlList VCL control, which improves scrolling.
  • The Compile dialog shows the platform and builds configuration and prioritizes Errors before Warnings and Hints.

New items.png

IDE High DPI quality

  • Data modules now save the PixelsPerInch property when its value is 96, the default. This is also the case for VCL forms.
  • Dynamically created frames are now scaling correctly when designed in high DPI.

Welcome Page

  • The Welcome Page now supports background images. Selecting an image will scale it to fit the Welcome Page area. The aspect ratio is preserved, meaning the left/right or top/bottom sides of the image may be offscreen so long as the other axis fits the Welcome Page size.
  • There is a new page in the IDE Options dialog for Welcome Page settings, including the background (which can be set per theme) and closing it when opening a project. You can also access this page from the Layout Editor.
  • Welcome Page frames are now transparent by default. The wallpaper you set will be partially transparent through them. The transparency amount is one of the Welcome Page metrics available in the ToolsAPI.
  • Spacing between frames and the upper and lower edges of the Welcome Page has been very slightly tweaked.

ToolsAPI support!

The Welcome Page now has full support for creating Welcome Page frames using the ToolsAPI! Our own frames use the same API, meaning that anything our frames can do, yours also can.

We provide two Welcome Page demos showing simple and advanced usage, which are available on our public Github.

In its simplest form, you can create a TFrame descendant and display it with a caption. That frame can contain anything you want. However, we have more complex functionality that you can also make use of:

  • Frame captions can contain custom UI chrome (implemented via a second frame), as you can see for some of ours, such as the Open Recent frame (buttons) and Create frame (toggling between Delphi and C++)
  • Our frames use a MVC pattern, and load data in a background thread. You can use our own implementation, including using the same frame and list views that ours are built with. This means you can get the same behavior and look and feel without mimicking our setup, including in future if changes are made to the default layout, sizes, etc.

GetIt Dialog Improvements

  • The GetIt dialog box has been redesigned, maintaining a similar UI, but adopting a ControlList component for the list of packages. This has a noticeable effect on performance
  • RAD Studio now caches the package icons in GetIt, reducing the time for re-opening the dialog
  • There is a new option to ignore patches in GetIt, so you can skip the installation of a patch but stop the notification of the pending patch.

Compilers and Toolchains Improvements

Both Delphi and C++

ASLR, DEP/NX, and TSAWARE

In both Delphi and C++, the Windows linkers now offer better support for platform security configurations: For Delphi:

  • These features were already available as compiler/linker flags:
    • {$DYNAMICBASE} for ASLR
    • {$SetPEOptFlags $40} for DEP/NX or the matching ‑‑peflags option

For C++:

  • Use the -GE: linker option to turn these flags on or off:
 **-GE:option|0xNNNN[=on|off] Set DLL characteristics flags
     ALLOWBIND | ALLOWISOLATION | DYNAMICBASE | HIGHENTROPYVA
     NXCOMPAT | TSAWARE
HIGHENTROPYVA is ASLR; NXCOMPAT is DEP/NX; and TSAWARE is for Terminal Server.

For both Delphi and C++:

  • Enabling these settings is now the default
  • We build redistributable binaries (like package BPL files) with the security configurations enabled

Delphi Debugger for macOS ARM and Android

We have a new debugger when running macOS applications on an Apple ARM device. This debugger is not used if you are using an Intel machine.

This new debugger is a recent build of LLDB, and its key technology is a Delphi parser that understands a subset of Delphi syntax. (For example, it understands Delphi expressions, though you cannot define a new class. It should understand enough Delphi for all debugger expressions you need to use.) This syntax should be truly Delphi-like: case-insensitive, and able to evaluate complex expressions in Delphi syntax.

We have also enabled this debugger for Android 64-bit. This debugger is much less likely to cause ‘disconnected’ errors or freezes.

C++ Compiler and toolchain

  • The default constructor for UnicodeString is now no longer inline, which should help if you do not want to step into the constructor when debugging and invoking a function that returns a string.
  • AnsiStringT has the System:: namespace prefix
  • Many intrinsics headers (xmmintrin.h, etc.) should now be available
  • The C++ RTL has a breaking change this release, meaning that C++ libraries must be rebuilt in 11.1 (i.e., don’t link against object files or .lib-s built with 11.0.) This change relates to handling handles correctly for Win64. Some internal RTL structures were not widened in the past, resulting in possible handle truncation; they are now wide enough.
  • More intrinsics (e.g. SSE-AVX) are now shipped with our RTL.
  • System::DynamicArray contains some STL members for iteration, such as begin().
  • Several String functions that were in helpers in Delphi are now available from C++.
  • The IDE had an issue where the linking paths meant that the linker would find the classic debug libraries (if provided) before the clang release binaries. This means that if you delivered debug builds of your component or library and supported both compilers, then your customers would end up linking against the version from the wrong compilers. It has now been resolved.
  • A wide variety of compiler bugs in the debugger (especially Win64) and debug info have been improved; using a TDS file in release mode; tweaks to locale, and many other RTL and STL areas; lots of improvements to import libraries; fixes to coff2omf for the generated OMF libraries, etc.

LSP Improvements (Delphi and C++)

Delphi LSP

  • DelphiLSP has a significant focus on quality and speed, and 11.1 brings some considerable performance improvements.
  • The key change is that the new higher performance work applies to all project types including packages.
  • Exception info is displayed again in Help Insight.
  • Line number information is now available in HelpInsight for arrays and sets
  • Pressing Ctrl-Shift-Down inside an inactive macro/ifdef jumped to the implementation of the next method declared
  • Ctrl-click navigation now works with aliased generic types. For example, if IntArray is a TArray<Integer>, control-clicking on IntArray will take you to the location with the TArray<Integer> type declaration, not to the location of TArray<> in System.pas.
  • An issue where ctrl-shift-up/down navigation did not work correctly when there were include directives in the unit has been fixed
  • Error Insight did not work when the project was using files that were located on a different drive to the project
  • Normal projects will now load much faster. The technique we use to load a project has been significantly changed with much less parsed, and DelphiLSP should finish loading a project and respond to requests much more quickly.
  • Error Insight results will now update much more quickly. You can expect a 5 to 30x speed increase here as well. The most dramatic improvement is seen for units with many dependencies (lots of other units used.)

Other improvements include:

  • Better handling of macros (defines) so that toggling between the implementation and declaration of a method works better when there are IFDEFs, as will code completion in class declarations.
  • Macros (defines) will also be found if they are declared in an included file, affecting the above.
  • When declaring a property, code completion will suggest getters and setters.
  • Code completion will show set types.
  • Type parameters will be shown in code completion in a class declaration, including generic types (e.g., T) in a generic declaration.
  • Parameter tooltips/help can be shown when instantiating generic types.
  • Code completion showed some TObject-specific completions, like AfterConstruction, when completing inside a record declaration; this has been resolved.

C++ and cquery

Cpp options.png

In the new LSP Behavior tab, we have two options that control how the cquery LSP server indexes files, which is how it stores the info it uses to fulfill code completion, navigation, etc. Restart server each time a project is activated and Index only files that are opened in the editor.

Note: Indexing can be very CPU intensive and you usually cannot use Code Insight until it’s complete. Note that restarting the server, such as when platforms are changed, also clears the index.

Other improvements include:

  • Code completion items are displayed in the order that cquery returns them, which is scope order, unless you turn on Alpha Sort (off by default.)
  • Indexing should be on by default in the Project Options for all C++ projects.
  • You can now code complete in header files that are not directly part of the project (e.g., not part of a cpp/header unit pair.)
  • Changing project options or the active platform will restart the server to match the new project settings.
  • The server now knows when a file has been saved and will update correctly. This is important for new files, because in this build Code Insight won’t function until the file exists on disk.

Other C++ features:

  • The IDE waits correctly until the server is ready.
  • You can code complete in a project’s main source file.

Performance Improvements

  • Code completion displays in two seconds or less, no matter the size of the project. Note that when invoking code completion in the global scope with a VCL project, there are over eighty thousand items returned.

Libraries Improvements

To help sharing code among projects build with FMX and VCL, we added framework specific predefined symbols:

  • FRAMEWORK_VCL - this predefined variable is set to true if the project uses the VCL framework
  • FRAMEWORK_FMX - this predefined variable is set to true if the project uses the FireMonkey (FMX) framework

Delphi RTL

Optimization Work

  • In terms of Delphi RTL we did some work in terms of performance optimization.
  • We also included improvements to _CopyArray, _IntToStr64, _IntToStr32, InitInstance, InvokeRecordInitializer, _FinalizeRecord, _UStrAsg (including purepascal version), _LStrAsg, _LStrLAsg, AnsiLowerCase / AnsiUpperCase, and TStringHelper.IndexOf.

New TURLStream class

  • There is a new stream class, TURLStream, and a general base class: TAsyncStream is a new base class for async streams, inherited from TMemoryStream; TURLStream is an async stream supporting URL paths, inherited from TAsyncStream.
  • TAsyncStream.Create starts APopulate in the background thread. Until it is finished, any TStream methods call on TAsyncStream will be blocked. An application can:
    • Use IAsyncResult to wait/check TAsyncStream population completion. TAsyncStream supports IAsyncResult.
    • Provide AProvide anonymous method, which is called when the population is finished.
  • TURLStream constructor extends the base class constructor, and it is declared as follows:

constructor TURLStream.Create(const AURL: string;

 const AProvide: TAsyncStream.TStreamer;
 ASynchronizeProvide, AFreeOnCompletion: Boolean);
  • TURLStream inherits the behavior of the TAsyncStream base class, but internally it uses THttpClient or TFileStream, depending on the URL schema.
  • TAsyncStream defines the following public methods: Destroy, AfterConstruction, Read, Write, Seek, SetSize(Int64), SetSize(Longint), SaveToStream.
  • TURLStream defines the following public methods: Destroy, RegisterSyncReqExexcutor, UnRegisterSyncReqExecutor.

Additional RTL Improvements

  • Support for Windows 11 and Server 2022 in the TOSVersion data structure
  • TURI.ToString takes the port into consideration
  • TMetaFile can now load from a large stream

TMemIniFile and duplicate sections

  • TIniFile was modified to offer better compatibility with the pre-10.3 behavior in case of duplicated sections.

VCL

We primarily addressed issues related to recent features, like enhanced TTreeView, TRichEdit, TEdgeBrowser, and TNumberBox.

FireMonkey

Improved Android SDK integration

  • We removed dependencies to the android.bat file tool in favor of advmanager and updated the IDe SDK Manager dialog for the Android platform.
  • The DEX compilation and DEX merging are now deferred after the C++/Delphi linking, making compilation without deployment faster.
  • For the Android platform core integration, we added support for Delphi classes that implement Java interfaces with method overloads. This helps address an issue with Android 12 and sensor access (fixing the SensorInfo demo).
  • Delphi classes that implement Java interfaces can now have functions that return Int8, Int16, Int64, Float32 and Float64 values.

TWebBrowser

  • Improvements to TWebBrowser on Windows (with WebView 2 support), including the ability to change the Windows Engine more than once. The default value of the WindowsEngine property has been changed.
  • The team also addressed resizing and transparency issues with the control. There is also improved WebBrowser ability to work with local files on mobile.

Additional FMX Quality

  • Addressed several Windows HighDPI-related issues.
  • Improved performance of TMessageManager.Unsubscribe.
  • Added Undo to TMemo context menu and addressed the issues with automatic content scrolling.
  • Emoji color improvements for both Android and iOS.
  • Improvements of the Metal GPU driver support on the macOS platform.

Data

General

  • We made the Field Link Designer pane and New Field Dialog larger and more usable.
  • In order to support Firebird 4 long field names (up to 63 characters), the 31-char limit in the field name in the database RTL has been removed.

FireDAC

  • Implemented Structure View support for FireDAC. Also some of the FireDAC windows offer better High DPI support.
  • Added support for MariaDB 10.6 server with a 10.6 client
  • Added support for SQLite SEE, offering a command line Batch to build SQLite OBJs with C++Builder for FireDAC static binding. The readme file sqlite_see.txt explains the process (this feature was already available for RAD Studio 11.0 via a GetIt plugin).
  • FireDAC improves Firebird 4 driver by providing support for additional data types:
    • INT128
    • NUMERIC with precision 19..38
    • TIME WITH TIME ZONE, TIMESTAMP WITH TIME ZONE (limited)
    • DECFLOAT(16/34)
    • Native statement timeout
  • FireDAC adds support for FireBird 4 pagesize 32768.

Internet

WebBroker on Android

  • The WebBroker server applications can now be deployed on an Android device or a developer board (like a RaspBerry Pi running the Android OS). Both on Android 32-bit and 64-bit.

DataSnap

  • We extended the Web.Win.ISAPIThreadPool to allow more than 64 threads. The NumberOfThreads variable type has been changed to Cardinal. The ShutdownTimeout variable (a timeout in milliseconds, which thread pool will wait to finalize all worker threads) has a default value of 2 minutes.

RAD Server

  • Some database structure improvements and provided new matching REST SysAdmin endpoints:
    • GET /sysadmin/log - returns info about LOG table content.
    • POST /sysadmin/log?minTime=<ISO8601 date> - deletes all records from LOG table older than specified date/time.
    • DELETE /sysadmin/log - deletes all records from the LOG table.
    • GET /sysadmin/backup?backupFile=<file path> - creates a specified backup file of emsserver.ib database. The backup file will be on the InterBase server.
    • POST /sysadmin/backup?backupFile=<file path> - restores the emsserver.ib database from the specified backup file. The backup file will be on the InterBase server.
    • GET /sysadmin/validate - performs emsserver.ib database validation and returns the database status.
  • Allow RAD Server users to log in from more than one session simultaneously
  • New deployment feature for RSLite
    • Option in EMS.INI to pick a specific Interbase client library (for embedded or regular DB), with the ClientLib entry in the Data section.
    • There is now a ready-to-use deployment feature for RSLite

Others

  • Added an option to select a client-side certificate in the REST Debugger.
  • The REST Debugger is now DPI-aware.
  • The TCustomRESTRequest class has a new BodyCodePage property, which specifies the request body code page. Some special values are:
    • -1 (the default value) - use the platform default encoding
    • 0 - current active code page
    • 65001 - UTF8.
  • Support switching the region in AmazonAPI

See Also

New features and customer reported issues fixed in RAD Studio 11.1

 
 

RAD Studio™️ is the ultimate RAD environment for quickly building high-performance native cross-platform applications in Delphi and modern C++ using integrated toolchains loved by developers.

RAD Studio 11.1 has a strong focus on quality improvements. Key quality focus areas include:

  • IDE
  • Remote Desktop
  • Delphi and C++ Compilers
  • C++ Toolchain
  • Delphi LSP
  • C++ LSP
  • Delphi RTL
  • VCL
  • FireMonkey
  • Data
  • Internet

For a detailed list of new features, please visit the 11 Alexandria - Release 1 page.

Publicly reported bugs fixed in 11.1

RAD Studio 11.1 Alexandria release includes over 400 quality and performance enhancements for publicly reported bugs.

Summary Component/s ExternalID
IPWorks link error clang but not classic 3rd Party RSP-29689
IPWorks fails link 3rd Party, Compiler, Compiler\C++ RSP-23622
Cannot compile a simple 32Bit Application using Win32 Clang Compiler with Stack [Batch] compilation and precompiled Headers Compiler, Compiler\C++ RSP-25621
Compiling simple 64 Bit VCL Application failed [batch compilation] Compiler, Compiler\C++ RSP-29149
Delphi exceptions from Delphi-style classes cause external exception EEFFACE in C++ Compiler, Compiler\C++ RSP-18040
Empty #warning makes C++ Compiler fail (ICE: Internal compiler error: 0 @ 00000000) Compiler, Compiler\C++ RSP-35628
Error when change a property in TControl (e.g.Text of TEdit) in lambda function Compiler, Compiler\C++ RSP-23043
The program fails if an exception is not processed in the current function and it is required to delete local objects (only Clang32) Compiler, Compiler\C++ RSP-26112
[4361] CameraComponent Sample gives Errors Compiler, Compiler\C++ RSP-21958
[bcc32x] Preprocessor doesn't work on IDL file Compiler, Compiler\C++ RSP-29111
[C++][BCC32] Using TValue with static runtime causes Access Violation Compiler, Compiler\C++, Compiler\C++\BCC RSP-11348
Error: Unresolved external '__tpdsc__ Compiler, Compiler\C++, Compiler\C++\CLANG RSP-35203
GetExceptionStackInfoProc is not called in the case of catch Compiler, Compiler\C++, Compiler\C++\CLANG RSP-19028
empty "#warning" CLang compiler error [bcc32c Fehler] Unit4.cpp(1): ICE: Internal compiler error: EEDFADE @ 779FC54F Compiler, Compiler\C++, Compiler\C++\CLANG RSP-16132
Android compiler returns an error when assigning an TAlphaColor reference Compiler, Compiler\C++, Compiler\C++\CLANG, Compiler\C++\CLANG\Delphi interop RSP-32191
UTF8String not working on mobile c++ and major other issues Compiler, Compiler\C++, Compiler\C++\CLANG, Compiler\C++\CLANG\Delphi interop RSP-21291
Wrong parameter names in events for C++ components (used in Clang projects): param_0 instead of Sender... Compiler, Compiler\C++, Compiler\C++\CLANG, Compiler\C++\CLANG\Delphi interop RSP-21807
[ilink32 Error] Error: Unresolved external 'System::Rtti::TValue __fastcall System::Rtti::TValue::From<System::UnicodeString>(System::UnicodeString)' referenced from... Compiler, Compiler\C++, Compiler\C++\CLANG, Compiler\C++\CLANG\Delphi interop RSP-24526
The C++ Windows 64-bit LLDB debugger does not stop on exceptions at all Compiler, Compiler\C++, Debugger RSP-35602
Win64|C++] context of current frame not used in "Watch" expressions Compiler, Compiler\C++, Debugger RSP-17006
ParamStr (64bit) looses first backslash with UNC path Compiler, Compiler\C++, IDE RSP-30353
Post-build Event Error if Batch Compilation is enabled .Rio (Tokyo maybe too) Compiler, Compiler\C++, IDE, Linker RSP-21853
Selectdirectory does not work as described in wiki Compiler, Compiler\C++, Linker RSP-36769
c++ TJSONObject AddPair String =true Compiler, Compiler\C++, RTL\C++ RSP-35502
EFileNotFoundException.Create definition changed and breaks C++ Compiler, Compiler\C++, RTL\Delphi RSP-35372
Access denied on opening of OpenPictureDialog in debug mode Compiler, Compiler\C++, VCL RSP-34358
Compiler does not output XML documentation for event types Compiler, Compiler\Delphi RSP-36964
Compiler internal error Compiler, Compiler\Delphi RSP-36240
F2084 Internal Error: AV1198A024(11970000)-W00000001-1 Compiler, Compiler\Delphi RSP-34985
Find Declaration does not work if "Use debug .dcus" is not enabled Compiler, Compiler\Delphi RSP-36846
Inline vars defined as "var set:= []" result in random compiler AV (F2084 with AV0B ... or URW1237) Compiler, Compiler\Delphi RSP-33672
Error on Unknown-Attributes not working Compiler, Compiler\Delphi, IDE RSP-32785
Chill Parser] Error Insight still in error Compiler, Compiler\Delphi, IDE RSP-22063
Local variable of type Double corrupted Compiler, Compiler\Delphi, RTL\Delphi RSP-36387
DBNavigator without manifest Data RSP-34552
AWS S3 UploadObject fails if bucket name contains 's3' Data, Data\Cloud RSP-36103
Can not switch the region in AmazonAPI Data, Data\Cloud RSP-36526
Error reading a Amazon S3 bucket that contains files with Unicode chars invalid for XML Data, Data\Cloud RSP-35592
When using TAmazonQueueService region is not affected in url Data, Data\Cloud RSP-36978
Wrong code in AzureAPI Data, Data\Cloud RSP-36448
DBGRID Rowselect image is gone Data, Data\DBCtrls RSP-33872
DBGrid RighToLeft and negative numbers Data, Data\DBCtrls RSP-31337
TDBgrid indicator display a black square Data, Data\DBCtrls RSP-31245
FireDAC: wrong format of a BCD field Data, Data\DBRtl, Data\FireDAC RSP-35545
Uninitialised memory in TExprParser causes invalid exceptions to be raised Data, Data\DBRtl, Data\Midas RSP-36306
Access violation connecting to Ingres database with ODBC/FireDAC in 64-bit applications only Data, Data\FireDAC RSP-34350
Error loading persisted FDMemTable data when nested datasets are present Data, Data\FireDAC RSP-28204
FieldName length in Firebird 4.0 Data, Data\FireDAC RSP-36950
FireDAC uses bad method to decide on equality when comparing two floating point numbers Data, Data\FireDAC RSP-35876
FireDAC.Phys.IBWrapper TIBPageSize add 32768 for Firebird 4 Data, Data\FireDAC RSP-36783
FireDAC.Phys.ODBCMeta DCU incorrect for 64bit Data, Data\FireDAC RSP-36319
FireDac Dialog Login does not appear correctly on the screen Data, Data\FireDAC RSP-35676
FireDac Memory Buffer Corruption with Connection DataType Map Rules Data, Data\FireDAC RSP-37031
FireDac does not Update Small Doubles (randomly) Data, Data\FireDAC RSP-37128
Foreign keyfields raise exception Data, Data\FireDAC RSP-35932
Incorrect record when issuing a Last for a FireDAC table Data, Data\FireDAC RSP-36493
[Firedac]Support for Firebird 4 Data, Data\FireDAC RSP-34162
if Field.value= ,Use LocalSQL Will change Field null Data, Data\FireDAC RSP-34662
In FDConnection file selection, when (re)opening the file dialog, set the directory to the current one Data, Data\FireDAC, IDE RSP-37076
Exception in TVersioninfo.BreakdownServer in IBX.IBServices Data, Data\IBX RSP-36394
TPrototypeBindSource.AutoPost and TBindSourceAdapter.AutoPost convergence Data, Data\LiveBindings RSP-31642
No glyph for TBindNavigator in the VCL form designer Data, Data\LiveBindings, VCL RSP-33419
ClientDataSet Exception at Android Data, Data\Midas RSP-34359
DBX Error "At end of table" on Delete Record after CloneCursor Data, Data\Midas RSP-35862
Exception on Close TClientDataSet Data, Data\Midas RSP-33888
TClientDataSet Append raises a Exception under Android Data, Data\Midas RSP-35878
TClientDataSet foCaseInsensitive in Filter Options Data, Data\Midas RSP-35787
BUG in TRESTRequest when Kind pkGETorPOST Data, Data\REST RSP-35385
Behaviour of adding REST parameters has changed between Delphi 10.4.2 and 11 Data, Data\REST RSP-35365
Restdebugger Oauth-assistant error message Data, Data\REST RSP-36201
TRESTRequest for Post request sends parameter in the URL instead within the body Data, Data\REST RSP-35341
Debug symbols are not loaded for most units if ‘Unit output directory’ is set to non-default value Debugger RSP-33891
Extra space character in debuger parameter at Win64 Debugger RSP-32221
Run To Cursor (F4) in the CPU View window doesn’t work. Debugger RSP-32641
The 64-bit C++ debugger does not update the contents of the FPU window when executing the fpu/mmx code. Debugger RSP-36407
Win64 Debugger show no classname at exception Debugger RSP-32231
Wrong breakpoint positions Debugger, Debugger\Breakpoints, IDE RSP-21443
Debug visualizer doubled, one in light and one in dark mode Debugger, IDE RSP-36301
[Regression] Captions in labels can no longer be viewed in Debugger Debugger, IDE RSP-37198
CameraComponent Sample has Errors Demos RSP-35029
Media player command demo not working on Android Demos RSP-35134
Delphi 11 Patch 1 Vcl.Forms.pas sourcecode doens't match shipped vcl280.bpl File Delivery, VCL RSP-36077
#$21..#$5F characters cannot be selected correctly when they are at the end. FireMonkey RSP-35651
A blue dot remains when moving after selecting all edits FireMonkey RSP-32651
AV in DrawBitMap on MacOS with GlobalUseMetal FireMonkey RSP-35772
Access violation on MapView when changed Parent field FireMonkey RSP-36338
ActivateSharedContext badly implemented FireMonkey RSP-34481
Android: Second tap to a read-only TEdit invokes the virtual keyboard FireMonkey RSP-27021
Apps that use In App Purchase that do not have a relevant meta-data tag result in a Play Store warning FireMonkey RSP-35834
Cannot use 'file://' to open file in WebBrowser1.Navigate FireMonkey RSP-34714
Canvas.Pen.Join := TStrokeJoin.Bevel; doesn't work with GDI+ Canvas FireMonkey RSP-34293
Clearing Listbox with large number items very slow FireMonkey RSP-35654
Conversion candidates do not appear in the correct position when converting Japanese. FireMonkey RSP-35826
Crash under macOS when trying to hide-unhide the application with an open modal window FireMonkey RSP-25586
Create a FMX form in DLL, and FreeLibrary, Access Validate Error occured. FireMonkey RSP-26569
Don't hide application under macOS if main window is not active FireMonkey RSP-25587
Emoji colours are wrong on iOS FireMonkey RSP-35785
Error when using IME to enter text when selecting FireMonkey RSP-35650
FMX + Android: wrong touch-position when "ControlType = Platform" and transparent status-bar FireMonkey RSP-33681
FMX Grid scrolls automatically to selection after refresh FireMonkey RSP-32211
FMX Memo, issues with automatic scrolling FireMonkey RSP-34201
FMX Message TFormReleasedMessage fires twice when Action is TCloseAction.caFree FireMonkey RSP-33859
FMX PopupMenu AutoExpand Submenu funcions only one time FireMonkey RSP-33899
FMX TCustomGrid EArgumentOutOfRange while disappearing from multiview FireMonkey RSP-34031
FMX TEdit Ctrl+Backspace removes *two* words before the caret FireMonkey RSP-36562
FMX TImageList - Serious Resource Leak - Ultimately Crashes Application FireMonkey RSP-32170
FMX Win High-DPI Bug: secondary forms with MainFormCenter position can appear off-screen FireMonkey RSP-35695
FMX Win High-DPI Bug: styled form border does not always render correctly when form is maximized FireMonkey RSP-35699
FMX component drag on to form results with destructs and constructs of all components on the form design FireMonkey RSP-35644
FMX default compiler directive FireMonkey RSP-15653
FMX mouse capture doesn't work on Ubuntu (FMXLinux) FireMonkey RSP-36896
FMX: Setting a selection of a Memo does not work FireMonkey RSP-34052
FMX: TCalendar shows wrong weeknumbers FireMonkey RSP-13358
FMX: TMenuItem shortcuts Ctrl+Alt+O and Ctrl+Alt+A don't work FireMonkey RSP-34296
Free of Listbox/Combobox with a large number of items SLOW FireMonkey RSP-34106
In "TContextManager.UnInitialize" private class var "FDefaultContextClass" not cleared FireMonkey RSP-33770
Ios: Orientation of UIImagePickerController is inversed FireMonkey RSP-20875
Issues in FMX.Platform cleanup FireMonkey RSP-34828
Jet Style 1.0 FMX FireMonkey RSP-31542
Key Up and Key Down Events not working. FireMonkey RSP-31879
MacOS Full Screen Behaviour FireMonkey RSP-24341
Memory leak in TPopup FireMonkey RSP-21438
Menus on wrong screen with premium styles FireMonkey RSP-18315
Missing images in menu and no working top level shortcuts when a style is used FireMonkey RSP-21869
Mouse event is offset under multiple different dpi monitors FireMonkey RSP-36022
Not giving focus control back to the creator form after closing a showmodal form when a stylebook is applied and active FireMonkey RSP-33687
On android device Tedit ontyping event is being called twice FireMonkey RSP-23267
OnKeyDown issues on Ubuntu (FMXLinux) FireMonkey RSP-36894
Per monitor DPI scaling broken in Firemonkey FireMonkey RSP-21008
Problem destroying the shape when the mapview component exists (problem only exists on ios) FireMonkey RSP-32177
Quick Edit padding not working for FireMonkey form FireMonkey RSP-34994
Re-post RSP-15460: Form freezes FireMonkey RSP-19900
Redundant nil check in FMX TBitmap.DestroyResources FireMonkey RSP-34030
Right clicking TEdit or TMemo doesn't set focus FireMonkey RSP-34314
Screen rotation with TMultiView Crash FireMonkey RSP-34448
Scrolling the Listbox in 10.4.2 FireMonkey RSP-34262
Segmenttion fault when ending an app under Android which uses FMX.Ani.TAnimator FireMonkey RSP-36961
SetTransparency of FMX Form raises exception if there is WebBrowser with Edge FireMonkey RSP-34978
Some FMX platform services don't have nil check for TPlatformServices.Current FireMonkey RSP-34743
TBitmap not updated after drawing on its canvas FireMonkey RSP-33732
TCommonCustomForm.MouseLeave never called on macOS FireMonkey RSP-34277
TExpanders are not working correctly in vertical scroll boxes FireMonkey RSP-19057
TListBox has a memory leak FireMonkey RSP-30306
TListView SwipeDelete fail FireMonkey RSP-29986
TNotificationCenter: Windows Notifications in Action Center can't always be cancelled FireMonkey RSP-26305
TNotificationCenterCocoa10.DoRequestPermission doesn't invoke callback if successful FireMonkey RSP-34439
TPath in a TFrame don't save it's data when changed in a TForm FireMonkey RSP-36037
TTextSettings.SetFontColor must set IsAdjustChanged under iOS FireMonkey RSP-20676
TWebBrowser 's Default value of WindowsEngine is None. FireMonkey RSP-35795
TWebBrowser not able to load local files with spaces on Android FireMonkey RSP-34641
The application does not respond after hiding-unhiding under macOS if a dialog box was opened FireMonkey RSP-25588
The caret position is wrong when deleting with the Delete key. FireMonkey RSP-35886
The image placed foremost on TListBoxItem is displayed behind the text on iOS FireMonkey RSP-33260
Unable to insert text at the cursor position after tabbing to TEdit in FMX. FireMonkey RSP-35748
Undo option is missing from the TMemo context menu FireMonkey RSP-34327
Unicode text containing 'U+200C' is rendered incorrectly in iOS and Android. FireMonkey RSP-32194
Use Dynamic Frameworks On iOS FireMonkey RSP-19926
Use clear instead of fillrect to paint the background of the form FireMonkey RSP-20970
Windows Title Bar cannot Display FireMonkey RSP-16270
[MacOS] Application stuck in full screen mode FireMonkey RSP-19446
[macOS / iOS] With GlobalUseMetal, the colors of the emoji are reversed FireMonkey RSP-31856
[macOS] closing a modal form crashes the application (when running fullscreen) FireMonkey RSP-36669
[macOS][Metal] Bitmap.CopyFromBitmap and incorrect colors FireMonkey RSP-31408
[macOS][Metal]Can't print bitmap FireMonkey RSP-31409
[macOS][Metal]Refreshing form don't work after close form (Hide) from red button FireMonkey RSP-31168
iOS: Invalid Code Signing of frameworks FireMonkey RSP-36648
macOS: Printing a bitmap with GlobaluseMetal := true crahs the app FireMonkey RSP-34053
paserver issue arm osx monterey FireMonkey RSP-36068
set GlobalUseGPUCanvas to True causes memory leak FireMonkey RSP-18798
TListBox groups render incorrect with invisible items FireMonkey, FireMonkey\Components RSP-13834
Destroying TTimerThread (FMX.Ani) FireMonkey, FireMonkey\Runtime RSP-36584
TBitmapCodecAndroid.LoadFromStream can fail with memory fault FireMonkey, FireMonkey\Runtime RSP-19043
order of the button is wrong in messageDialog under IOS FireMonkey, FireMonkey\Runtime RSP-15971
Caption font not scaled in object inspector in high DPI FireMonkey, IDE RSP-35103
Controls are not placed at the drop position when the scale is not 100%. FireMonkey, IDE RSP-35890
FMX Transparent form renders wrong in IDE on high-DPI monitor FireMonkey, IDE RSP-35675
Pressing the Win key (to open your computer's Start Menu) when the FMX form designer has focus inserts a bracket in the Object Inspector FireMonkey, IDE RSP-36573
TMainMenu items editor disappears when editing a menu item FireMonkey, IDE RSP-31905
[FMX] TListView designer unstable - get catastrophic failures often FireMonkey, IDE RSP-29464
Exception-Klasse 6 when try to run Firemonkey app on macOS Monterey FireMonkey, PAServer RSP-36064
TActionsList actions list category deselected unexpectedly when reordering actions FireMonkey, RTL, RTL\Delphi RSP-27083
Use Translate when creating standard context menu items FireMonkey, RTL, RTL\Delphi RSP-36932
AV in TPrinter.SetPrinter FireMonkey, VCL RSP-27952
AV in TPrinter.SetPrinter FireMonkey, VCL RSP-36458
All the ".chm" help files outdated, not only "topics.chm" as reported before Help and Doc RSP-35494
Options | Deployment | Provisioning Help and Doc, IDE RSP-26694
"Add Package" Dialog is scaled wrong (font too large) IDE RSP-35233
"List" view mode in Project Manager is not persisted IDE RSP-31023
Open Recent IDE RSP-35358
About Dialog: List of installed products/extensions is scrambled on scaled display IDE RSP-35163
Access violation after closing a file IDE RSP-35721
Add components to application IDE RSP-36168
After project is closed, it cannot be reopened by single click on item title in Welcome Page Recent section IDE RSP-34988
Buffer List dialog - incorrect row height in HighDPI IDE RSP-35734
Bug reported in https://quality.embarcadero.com/browse/RSP-34454 persists in 6427 IDE RSP-34806
Cannot build Android service with custom configuration IDE RSP-25990
Checkboxes are not scaled if project options dialog is moved to low dpi monitor IDE RSP-34875
Closing files cause a delay (If 'Welcome' page is opened) IDE RSP-21973
Code Editor and other tool windows became blank in debug mode IDE RSP-36154
Code insight - Ctrl+Left Clic - Right Clic + Search variable IDE RSP-35406
Code navigation (go to definition) does not seem to work when inside a groupproj. IDE RSP-36030
Columns in Projects Tool window are not HiDpi-aware IDE RSP-35210
Controls are moving/jumping when clicked/selected in the Form Designer IDE RSP-31115
Ctrl+clicking on my defined types leads to System.Generics.Collections instead on unit where they are defined IDE RSP-33068
Ctrl-Click not working when @-operator is in the mix IDE RSP-34856
DPI Unaware and HighDPI toolbar settings are not same in registry. IDE RSP-35487
Dark theme still shows classic scrollbar IDE RSP-27154
Delphi 11 is reporting changes in FMX modules in every load IDE RSP-35798
Dialog "project options" shows black area IDE RSP-29712
Displacement to the right buttons on the Delphi IDE toolbar after an IDE font increase IDE RSP-36758
Drag and drop of dpr file into editor breaks IDE IDE RSP-32618
Drop list box displays nothing whenever cursor is below any inline variable declaration IDE RSP-29434
During autoformatting the code, breakpoints will disappear (C++) IDE RSP-14617
During loading of the welcome page the "recent" area is drawn strangely IDE RSP-35127
Editor Font does not work IDE RSP-35408
Editor Gutter settings don't save IDE RSP-35521
Enable LSP indexing in new C++ Builder projects IDE RSP-35253
Error dialog appears underneath the opening project dialog IDE RSP-35061
Error dialog stays on screen when focus switched to another app IDE RSP-35147
ErrorInsight and CodeInsight for x64 does not work for very large projects IDE RSP-30667
Exception in IDE on using "Open recent" from File menu IDE RSP-36175
Exception tags in XMLDOC are not shown in Help Insight IDE RSP-36771
Field Link Designer and New Field Dialog Issues IDE RSP-19249
File -> New -> Other -> Inheritable Items is unsorted which makes it very difficult to find the wanted item IDE RSP-28063
File / New / Other - Inheritable Items: Not Sortable IDE RSP-32133
File/new keyboard strangenes IDE RSP-30711
Find in Files form shows offscreen and is unusable after switching from two monitors to one monitor IDE RSP-32238
Flow Control Highlighting symbols are not scaled IDE RSP-35047
Font height change in dfm if Scaled = False IDE RSP-34960
Font size in Project Manager gets smaller IDE RSP-35753
Form Designer for CustomForms under High DPI IDE RSP-35842
GetIt UI Needs to be Cleaned Up IDE RSP-31021
GetIt "installed" filter takes for ages IDE RSP-23648
Git settings window too small IDE RSP-28770
Hi DPI IDE error with parameter completion IDE RSP-36210
High-DPI + Font scaling problem in project option IDE RSP-36277
High-DPI IDE scaling error. The font of the Messages Window not scaled. IDE RSP-36211
IDE Application Title Bar is cut off on Hi-Def screen IDE RSP-33154
IDE List index out of bounds when refreshing target devices IDE RSP-33133
IDE Marks file(s) as changed on open [when using VCL styles in designer] IDE RSP-34965
IDE Toolbar cuts ComboBox IDE RSP-22244
IDE crash on Find in Files when trying to open found file IDE RSP-34986
IDE does not adjust to DPI changes --- still IDE RSP-14288
IDE needlessly reads values from registry IDE RSP-26217
IDE on dual monitor system during debugging (Unwanted scroller) IDE RSP-35595
IDE option setting is not persistent IDE RSP-35165
IDE panels disappear after enter debug mode IDE RSP-35481
IDE panels disappear after project reopen IDE RSP-36010
IDE says "indexing" when hovering over a function call but LSP was turned off IDE RSP-34905
IDE system icon moves IDE RSP-21975
IDE/Codeinsight doesn't work very well with IFDEFs IDE RSP-15580
INTAServices90.AddImages mixes images IDE RSP-35412
IOTAServices.ExpandRootMacro does not expand $(Platform) and $(Config) IDE RSP-32566
Icon is not rendered correctly [color-keyed icon with fuchsia background] IDE RSP-34717
Improper Layout afer dragging IDE from standard to HiDPI monitor IDE RSP-34813
Inconsistent DeployFile sort order in .dproj IDE RSP-18069
Inline variables break navigation bar IDE RSP-33191
Installer label flicker IDE RSP-34745
Issue with Code Insight const block of nested class helper IDE RSP-27887
Keyboard scrolling in GetIt pckage manager still broken IDE RSP-28789
LSP - Code Completion not working (reproducible) IDE RSP-32578
LSP Server keeps running even if Delphi is closed IDE RSP-36632
LSP shows wrong location for type-declaration IDE RSP-28543
LSP suggests unusable tips IDE RSP-32598
Library options page doesn't understand $(Platform) IDE RSP-32635
Live bindings designer wrong scaled if changed dpi IDE RSP-35986
Many problems with the IDE with monitors set to different scaling IDE RSP-35431
Messages listbox text is wrong size when moved from 4k to fhd screen IDE RSP-36361
Messages view: Visually differentiate error, warning, hints and regular messages IDE RSP-28221
Missing debug status indication in IDE Title text for Android projects IDE RSP-34891
MultiPaste dialog scaled wrong IDE RSP-35424
Navigation Toolbar fails with inline variable declarations IDE RSP-30125
Navigation Toolbar unreadable IDE RSP-34105
New Helmet & C++ Icons Missing IDE RSP-35077
New IDE icons are blurry IDE RSP-34898
New Items dialog no longer remembers last selection IDE RSP-21985
New VCL projects are created with Runtime Themes disabled [base config] IDE RSP-28822
New Welcome Page is flickering IDE RSP-35175
New Welcome Screen Open Recent should list only projects IDE RSP-34731
New items dialog is missing view en sort options. IDE RSP-30250
New items dialog slow and cumbersome IDE RSP-23508
Object Inspector: ImageIndex and ImageName dropdown images are too small IDE RSP-34773
Object inspector speedsettings colors issue IDE RSP-24596
Opening VCL or FMX based unit takes long time IDE RSP-32668
Option dialog IDE RSP-22338
Option dialog issues - Version Control missing scrollbar/box? IDE RSP-27011
Options splitter not working consistently IDE RSP-22332
Palette caption font issue on 4K monitor IDE RSP-35679
Possibility to skip/ignore patches provided via GetIt on Welcome page IDE RSP-36878
Pressing the F2 key to edit property will cause q to be entered. IDE RSP-36745
Problem with 24x24 component icons IDE RSP-35336
Project Options Application Manifest refuses to keep/use "none" DPI Awareness setting IDE RSP-35740
Project Todo file included in deployment and cannot be removed IDE RSP-25747
Project loading progress dialog stays on top of every other application IDE RSP-35097
Project options contains black square IDE RSP-35227
Proposal for the excellent new compile-dialog IDE RSP-22366
REST debugger has text problems in french release IDE RSP-31551
Reading IOTAProjectOptions.Values causes exception for certain option names IDE RSP-17510
Refactoring with view references fails with Cannot perform CAS Asserts in Security Transparent methods IDE RSP-36624
Restoring default welcome page IDE RSP-35634
SDK API level and Delphi NDK path are not displayed. IDE RSP-35944
SDK wizard cannot found SDK API level. IDE RSP-35947
Scaled forms do not always have commensurate sizes in 11.0 IDE RSP-35778
Scroll bar in project inspector IDE RSP-32663
Search box in Inheritable items is broken IDE RSP-27451
Some parts of the IDE look wrong in High DPI IDE RSP-34809
Text in the code completion window looks distorted and truncated on 125% dpi IDE RSP-35754
The coordinate value of the component with akBottom becomes strange. IDE RSP-35993
ToolButtons disappear IDE RSP-34850
Toolbar Customizations IDE RSP-36697
Unable to install Android SDK's IDE RSP-26893
VCL Styles IDE Bug with selecting controls IDE RSP-35473
Version info screen not styled IDE RSP-34090
Vote Smart and Simple Console Project Templates for the C++ Builder is Needed IDE RSP-35070
Welcome Page New and Promoted GetIt panels duplicate thumbnail images IDE RSP-35991
Wish for an option to avoid saving PixelsPerInch to TDataModule DFM files, to preserve backwards compatibility IDE RSP-35809
Wrong Listsize of the IDE [open from Explorer, IDE layout is different] IDE RSP-27294
[High DPI IDE] Dialog "Go to Address" does not support high dpi IDE RSP-35987
[High DPI IDE] Drag and drop of windows / controls between high dpi and low dpi monitor shows wrong window size IDE RSP-35985
[High DPI IDE] Font size in GetIt search edit can be too big IDE RSP-35632
[High DPI IDE] The Installed Components dialog scales incorrectly IDE RSP-35664
[High DPI] VCL designer does not scale snap tolerance IDE RSP-34826
[REGRESSION] Use Unit dialog wrong focus IDE RSP-36160
[TitleBar] Mouse cursor changes to arrow on non-resizable dialog IDE RSP-34879
autocomplete is very slow IDE RSP-36821
code formater add space after first underscored numbers part IDE RSP-36755
cropped combooxes IDE RSP-25866
icons of the vertical/horizontal alignment bar button are wrong IDE RSP-35768
labels are not displayed properly in options. IDE RSP-35892
most (main IDE form's) toolbars are not dpi/scaling-aware IDE RSP-34825
open from version control icon is too small IDE RSP-34719
iOS Development for AppStore not possible with XCode 13.0 IDE, IDE\Build System RSP-35701
Method Toxicity has wrong HiDPI-awareness (font size is huge) IDE, IDE\Castalia RSP-34740
CTR+SPACE code completion does not work inside IFDEF IDE, IDE\Code Insight RSP-31560
Code completion does not always work [for ifdef-s, when that macro is defined] IDE, IDE\Code Insight RSP-31490
In a C++ source file, moving the mouse over a variable, I see "Unable to find file..." IDE, IDE\Code Insight RSP-30321
Locate failed. IDE, IDE\Code Insight RSP-34058
Tooltip symbol insight (LSP) tooltip disappears when moving mouse over it IDE, IDE\Code Insight RSP-30862
Type Parameters not listed in Code Insight completion list IDE, IDE\Code Insight RSP-14594
Component name color on black form IDE, IDE\FireMonkey Designer, IDE\VCL Designer RSP-26061
Import Google Services JSON File Issue IDE, IDE\General RSP-35456
GetIt Features needed… slow on search etc IDE, IDE\GetIt RSP-32583
GetIt filter feature is too slow IDE, IDE\GetIt RSP-23301
GetIt should not jump to the beginning of the list when installation is finished IDE, IDE\GetIt RSP-24452
Details button of "no help for dcc32 found" issue IDE, IDE\Help RSP-12154
A lot of display problem in installer (some in IDE) in High-DPI with 200% scaling IDE, Install RSP-35497
GetIt titles and description of entries are sometimes reversed IDE, Install, Install\GetIt RSP-32611
In Android SDK Add wizard, caption is not properly. IDE, Translation RSP-35929
Dynamically created frames are scaled wrong when IDE is in High DPI mode IDE, VCL RSP-34822
Fonts in Nested Controls are not Down Scaled in Dpi Unaware Applications IDE, VCL RSP-35518
TGridPanel not scaled correct in High DPI mode IDE, VCL RSP-34767
TScrollingStyleHook erratic behaviour while scrolling IDE, VCL, VCL\Styles/Themes RSP-23147
"Start working" in Setup is dangerous Install RSP-28568
Installer background image looks broken Install RSP-34866
LockBox 3.7 problems in C++ Builder CE Install RSP-34153
Operation Complete window runs RADS while i click close button. Install RSP-26886
xml mapper fais to install Install RSP-35581
Support for ASCR, DEP and StateSEH Linker RSP-37098
[ilink32 Error] Error: Unresolved external '__tpdsc__ Linker RSP-34504
ilink64 searches a wrong drive for libraries Linker RSP-17092
DXGI.h(1434): E2015 Ambiguity between 'DXGI_FORMAT' and 'Mshtml::DXGI_FORMAT' RTL RSP-33626
G-sensor access denied RTL RSP-30006
Breakpoint speeds affects by number of threads RTL, RTL\C++ RSP-29892
EZeroDivide exception does not work properly RTL, RTL\C++ RSP-28878
When closing a VCL application written in C++, an exception occurs if you change the visual style and display a TOpenDialog dialog box. RTL, RTL\C++, VCL RSP-36490
"Copy paste bug?" in IOUtils.TDirectory.ConvertDateTimeToFileTime RTL, RTL\Delphi RSP-36935
A change in TThread breaks Windows XP compatibility RTL, RTL\Delphi RSP-35459
About NetHTTPClient and OnValidateServerCertificate RTL, RTL\Delphi RSP-35700
VCL) RTL, RTL\Delphi RSP-27405
Better InitInstance RTL, RTL\Delphi RSP-34931
Better InvokeRecordInitializer RTL, RTL\Delphi RSP-35150
Better _IntToStr32 RTL, RTL\Delphi RSP-36119
Better _LStrAsg RTL, RTL\Delphi RSP-34739
Better _LStrLAsg RTL, RTL\Delphi RSP-35030
Better _UStrAsg RTL, RTL\Delphi RSP-34728
Better _UStrAsg (purepascal) RTL, RTL\Delphi RSP-35189
Bug in TMethodImplementation.TInvokeInfo.SaveArguments RTL, RTL\Delphi RSP-30851
Change (=fix) .size() function from TZDecompressionStream RTL, RTL\Delphi RSP-35988
Changing the reading order of ini files RTL, RTL\Delphi RSP-36786
Delphi Mocks - TVirtualInterface/RTTI issue with double and safecall RTL, RTL\Delphi RSP-37009
Delphi win64 applications can't work correctly under Wine 64 bits on macOS because of thread variables RTL, RTL\Delphi RSP-26206
FindCmdLineSwitch fails to parse value when value has a leading switch character RTL, RTL\Delphi RSP-35956
NameThreadForDebugging raise EThreadNameException under Linux RTL, RTL\Delphi RSP-22083
NameThreadForDebugging raises EThreadNameException on iOS RTL, RTL\Delphi RSP-29625
Potential AV in NotifyModuleUnload and RemoveModuleUnloadProc RTL, RTL\Delphi RSP-28953
REST PUT issue RTL, RTL\Delphi RSP-35824
SOAP on Android64: invalid floating point overflow RTL, RTL\Delphi RSP-30521
ScanDate wrong RTL, RTL\Delphi RSP-36115
Slight improvement to _FinalizeRecord RTL, RTL\Delphi RSP-35038
Small optimization in _IntToStr64 RTL, RTL\Delphi RSP-35144
StrToFloat behaviour Win32 vs.Win64 Bit RTL, RTL\Delphi RSP-34018
Support for Window 11 and Server 2022 in TOSVersion RTL, RTL\Delphi RSP-36176
System._CopyArray optimization RTL, RTL\Delphi RSP-30316
TCharHelper IsLetter error RTL, RTL\Delphi RSP-20569
TCharHelper.ToLower(UCS4Char) regression RTL, RTL\Delphi RSP-31392
TListHelper.DoIndexofFwd# - Move "Value" memory access outside of loop RTL, RTL\Delphi RSP-34998
TMetaFile cant load from large Streams RTL, RTL\Delphi RSP-34331
TRESTRequest forces ANSI encoding on Body content under Windows RTL, RTL\Delphi RSP-36796
TRttiField.SetValue breaks past bevaviour with Null and String RTL, RTL\Delphi RSP-35486
TZCompressionStream raises "EZCompressionError with message 'Invalid ZStream operation!'" RTL, RTL\Delphi RSP-35516
TZCompressionStream.CopyFrom raises SZInvalid RTL, RTL\Delphi RSP-35509
TZipFile TLocalHeader FileComment problems RTL, RTL\Delphi RSP-34493
Wrong OS version detected for Windows applications running on Wine RTL, RTL\Delphi RSP-18185
Wrong usage of HeapAlloc + VirtualProtect in System.RTT.TPrivateHeap RTL, RTL\Delphi RSP-35726
access violation in THTTPClient.ExecuteHTTPInternal RTL, RTL\Delphi RSP-33810
c++ Could not find a match for 'TStringList::AddStrings(TStringDynArray)' RTL, RTL\Delphi RSP-35503
problems with split RTL, RTL\Delphi RSP-35895
If NULL character (#0) string is passed to TDirectory.GetFiles you get a stack overflow RTL, RTL\Delphi, RTL\Delphi\I/O RSP-35819
Linux64 - System.IOUtils.TDirectory.Delete() when Recursive=True, deletes contents of Dir parameter, but fails to remove Dir itself RTL, RTL\Delphi, RTL\Delphi\I/O RSP-23877
TDirectory hides copy failures RTL, RTL\Delphi, RTL\Delphi\I/O RSP-20944
THTTPClient.CreateFormFromStrings malformed when form name empty RTL, RTL\Delphi, RTL\Delphi\Net RSP-35332
TURI.ToString does not add port to URL RTL, RTL\Delphi, RTL\Delphi\Net RSP-34571
TListView - Bug using the same TImageList for SmallImages and Stateimages, drawing glitches after dynamic change RTL, RTL\Delphi, VCL RSP-34663
Better _UStrToPWChar (and _LStrToPChar) RTL\Delphi RSP-37014
Regression: Implementation of new StringToGuid causes invalid guids to be parsed RTL\Delphi RSP-35513
Small possible optimization of AnsiLowerCase and AnsiUpperCase RTL\Delphi RSP-34655
Change Request for Web.HTTPApp ExtractHeaderFields() RTL\Delphi\Net RSP-35370
Wrong German E2425 text Translation RSP-35877
A styled form with a MinHeight/MinWidth constraint changes constraints after minimize/restore. VCL RSP-31253
Access violation in Vcl.Menus when use VCL styles VCL RSP-32262
Bug in the graphs of TDbGrid and TDbNavigator and in TGroupBox and TRadioGroup.StyleElements. VCL RSP-33766
Cast error in Vcl.ComCtrls VCL RSP-36385
CheckStates not retained when tree node is moved with MoveTo() function. VCL RSP-36040
Custom styles don't draw TStatusBar if a panel h VCL RSP-34667
Data Module does not keep its size VCL RSP-35347
Date/Time/Calendar pickers dropdown window positionning issue VCL RSP-30024
Delphi 10.4 DLL DBGrid Runtime Error 216 VCL RSP-33662
Dfm files from earlier versions of Delphi with a value for TNumberbox.CurrencyFormat will fail to open VCL RSP-35407
Disabled actions are not always disabled on a TActionMainMenuBar VCL RSP-32142
DoThemedDrawText: Parameter "Selected" is ignored, leading to wrong text color in menus on Windows 11 VCL RSP-35049
DoubleBuffered Bug on Windows 11 VCL RSP-36020
Flickering in Styled Combobox Drawing VCL RSP-29844
Fontsize and position of labels and components keep increasing in Delphi VCL RSP-35716
Form moved to monitor with different scale - wrong form size VCL RSP-36855
German text in layout selection dialog cut off VCL RSP-32506
IDE Invalid coordinates of objects in the insertion in TPanel VCL RSP-36532
Incorrect form scaling VCL RSP-35032
Incorrect item margins in TControlList VCL RSP-35606
Label on TLabeledEdit does not expand.. VCL RSP-34779
ListView column unexpectedly when connected to a PC using RDP VCL RSP-31943
Memory Leak in TCustomNumberBox.WMPaint VCL RSP-36331
Moving a form from a higher DPI monitor to lower DPI monitor causes form to be wrongly scaled VCL RSP-36057
PageControl tabsheet caption image align issue with VCL style VCL RSP-35200
Patch1 Mangles Forms with BorderStyle = bsNone and bsSingle VCL RSP-36004
Potential nullptr.AV in TCustomForm.WMSetIcon() VCL RSP-34657
Problem with DBCombobox dropdownlist RightToLeft Windows10 Style VCL RSP-31329
Programs built with dpi>96 run corrupted in 96dpi VCL RSP-35312
RichEdit line insertion error VCL RSP-36812
Scroll bar does not update properly in TStringGrid with style applied VCL RSP-35657
Styles header conflicts with zlib header VCL RSP-36999
TCombobox scaling problem at 150% VCL RSP-31703
TControlListButton Image* properties not shown at designtime VCL RSP-35770
TControlListButton hint not working VCL RSP-36498
TControlListButton not highlighted VCL RSP-36488
TCustomGrid incorrectly calculates last visible column if rightmost column is not visible VCL RSP-33769
TDBEdit ignore TextHint VCL RSP-20754
TDockTabSet caption panel not scaling VCL RSP-33698
TNumberBox incompatible settings VCL RSP-35614
TPopupMenu and TMainMenu: excessive use of UserObjects when VCL Themes are used VCL RSP-36265
TRichEditAction Actions do not respect read only controls VCL RSP-35894
TService.ReportStatus may throw index out of range error VCL RSP-34015
TSpinEdit inner buttons click event not observed VCL RSP-31635
TTitleBar.GetClientRect returns the incorrect TRect values VCL RSP-36151
Tbutton with 2 ImageList go into deadlock when destroyed VCL RSP-35758
VCL TToolButton with Style set to tbsDropDown not scaling correctly VCL RSP-31272
VCL controls with constraints do not scale correctly VCL RSP-32216
Vcl.FileCtrl.FileSelectDirectory() wrong scaled on high dpi monitor VCL RSP-32344
VirtualImageList images grow when HighDPI=Auto (Monitor Scale = 200) VCL RSP-34913
Width of GroupBox on inherited form changes to default VCL RSP-36207
Windows 11 Menu text with ImageList not readable VCL RSP-35800
[toolbar] Unusable form editing in high dpi monitor due to Incorrect buttonheight and buttonwidth being set on forms VCL RSP-29820
form designer modifies anchored elements VCL RSP-36159
HighDPI at TLabeledEdit VCL, VCL\Additional RSP-35534
Wrong re-scaling in High-DPI Styled and Constrained MainForm VCL, VCL\Styles/Themes RSP-33760

RadStudio 11 and Delphi 11 November Patch got released

The RadStudio and Delphi 11 November patch got released on the 24th of October and contains about 23 fixes.

As it also includes the previously released Patch 1, you can either install it on the patched or unpatched version.

Download it from Embarcadero or from GetIt.

Here are the included fixes:

Full Changelog

New Quality Portal issues addressed by the RAD Studio 11 November Patch

PAServer related issues

RSP-36094 Cannot compile to macos, no such file
RSP-36068 paserver issue arm osx monterey
RSP-36064 Exception-Klasse 6 when try to run Firemonkey app on macOS Monterey

VCL related issues

RSP-36207 Width of GroupBox on inherited form changes to default
RSP-36077 Delphi 11 Patch 1 Vcl.Forms.pas source code doesn’t match shipped vcl280.bpl
RSP-36004 Patch1 Mangles Forms with BorderStyle = bsNone and bsSingle
RSP-35993 The coordinate value of the component with akBottom becomes strange.

Quality Portal issues addressed by  RAD Studio 11 Patch 1 (the contents of which are included in this patch)

RSP-35800 Windows 11 Menu text with ImageList not readable
RSP-35785 Emoji colors are wrong on iOS
RSP-35778 Scaled forms do not always have commensurate sizes in 11.0
RSP-35716 FontSize and position of labels and components keep increasing in Delphi
RSP-35701 iOS Development for AppStore not possible with XCode 13.0
RSP-35651 #$21..#$5F characters cannot be selected correctly when they are at the end.
RSP-35650 Error when using IME to enter text when selecting
RSP-35518 Fonts in Nested Controls are not Down Scaled in Dpi Unaware Applications
RSP-35473 VCL Styles IDE Bug with selecting controls
RSP-35459 A change in TThread breaks Windows XP compatibility
RSP-35312 Programs built with dpi>96 run corrupted in 96dpi
RSP-35049 DoThemedDrawText: Parameter “Selected” is ignored, leading to wrong text color in menus on Windows 11
RSP-34960 Font height change in DFM if Scaled = False
RSP-34913 VirtualImageList images grow when HighDPI=Auto (Monitor Scale = 200)
RSP-34822 Dynamically created frames are scaled wrong when IDE is in High DPI mode

In addition we also addressed an Access Violation caused by the Welcome Page, some issues related to opening old forms with non-visual components in a High-DPI IDE configuration, and the same issues with emoji colors (RSP-35785) also for Android.

Delphi 11 Alexandria Got released, with many changes!

Delphi 11 Alexandria is huge!

Embarcadero planned to release Delphi 10.5 but decided to switch to the 11 to match the Windows 11 version number, like they did back then with Windows 10.

Future wise it really is justified to increase the Major version Number instead of just a minor increase.

Check out the big list of changes below!

Here is the List of changes (It is really big!)

The RAD Studio 11.0 Alexandria release contains the following new and improved features:

New IDE Enhancements

High DPI IDE

The Delphi, C++Builder and RAD Studio IDE are now high-DPI enabled. Running with high DPI enabled is currently a runtime option. All windows in the IDE now support high DPI. This includes behavior such as changing scale when being dragged from one monitor to another. IDE functionality refers to:

  • The main window
  • All dockable windows, like the Object Inspector, Projects, Structure, Messages, etc. As well as all Object Inspector property editors.
  • All dialogs like New Items, IDE Options and Project Options, About, etc.
  • All content windows like the editor, form designers, history, etc.

The IDE styles (Light, Dark and Mountain Mist) have been updated to support high DPI as well.

High DPI for the VCL Form Designer

In RAD Studio 11.0, the VCL form designer can handle scaling three different ways. You can customize this inside Tools > Options > User Interface > Form Designer > High DPI. The options available are Automatic (Screen PPI), Low DPI (96 PPI) and User Editable when you can set a specific PPI value.

High DPI for the FMX Form Designer

The FireMonkey designer scales a form the same way a FMX form does at runtime. Coordinates remain the same (that is, 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.) It is a visual scaling only.

Welcome Page

A new VCL-based Welcome Page has been added to the IDE. It is designed to:

  • Have multiple frames, which can be added, removed, or their position and size rearranged as you wish
  • Scale well with high DPI
  • Use our own technology

Open Tools API Changes

All APIs that pass images, such as the splash screen services, about box, IDE Insight, and other areas have been updated to support high DPI images. This allows you to pass in multiple resolutions of the same icon, which are added to the internal image collection and used with a virtual image list. Although the methods take an array of any TGraphic, we recommend PNG images.

VCL Styles in the Designer

VCL controls can be optionally rendered using styles in the designer.

Warning: This feature is not enabled by default and can be turned on in the Tools Options dialog, User Interface > Form designer section. The option name is “Enable VCL Styles”.

The StyleName property editor reflects the available styles in the project, and renders a preview (how a button looks). Remember that if you select “Windows” it means platform styling and if you leave the property empty, it is going to use the parent control (or parent form) style.

Notice that the VCL form designer now has a custom Windows 10-style title bar and frame, rather than using the classic Windows frame. If no form style is set, it uses a Windows 10 style. If the form is set to use a VCL style, the frame reflects the selected style of the form.

Form Designing and Code Editing

In 10.4.2, the Design tab was disabled when a form was being designed in another window. Now, the tab is always enabled, but if it is being designed in another window a message is displayed; you can click a button to bring the designer to the current window.

Options Dialog Performance

The Options dialogs (both IDE and Project Options) should load in a fraction of the time of previous releases. In the past, all pages were loaded when the dialog opened; now, a page is loaded (and controls created) only when it needs to be shown.

Third party vendors should be aware of this change for impact on their settings frames.

FireMonkey Design Guidelines and Margins

The FireMonkey designer in version 11.0 is introducing guidelines and other features found in the VCL designer, with a different implementation. Components hints are displayed when you are moving or resizing them. Also, controls offer guidelines for alignment on the sides and display standard margins distance with a line across.

The form and component resize controls now have the same look and feel as the VCL form designer.

DelphiLSP for Visual Studio Code and Other Editors

In RAD Studio 11.0 DelphiLSP can be used with other editors. As part of this, we have created a Visual Studio Code extension using DelphiLSP.

To know more about this feature, see here.

Code Insight (DelphiLSP) Improvements

DelphiLSP

LSP in RAD Studio 11.0 focuses on quality and ensures it is a robust replacement for classic Code Insight. Key improvements include being able to parse units that have include files included in them; improvements around when the server is restarted; and improvements to the syntax elements the server understands.

Classic Code Completion Removed

Delphi classic code completion has been removed from the IDE. Only the LSP option is available for Delphi Code Insight.

Warning for Build Events

Build events can execute arbitrary commands on your system. It is common to get projects, which include build events, from third parties online. RAD Studio now warns when a project contains a build event in any configuration (including one you are not currently building.)

Warning: It is possible to mark a project as trusted, get a newer modified version and not be warned even if it contains a build event it did not before. This is a security mitigation intended to assist you, but must not be taken as fully preventative in all situations.

Other IDE Changes

The code editor now uses Consolas as the default font. A number of other common coding fonts, such as Fira Code, are installed with the IDE. Note that the editor does not support ligatures, but it does render high DPI text crisply using these new fonts. ‘View Messages’ has been restored to the editor context menu.

The Code Insight progress bar is hidden once work is completed.

Delphi ToolChain Improvements

New macOS ARM 64-bit Target Platform

RAD Studio 11.0 supports a new Delphi target platform, macOS ARM 64-bit, to natively target the new M1 Apple Silicon CPUs with macOS 11. You can use this platform to build native M1 applications (of course this requires M1 hardware to run). We keep our Intel 64-bit target support and the creation of Universal Binary applications including both ARM and Intel binaries in a single package.

Universal binaries

You can create a universal binary containing both Intel and ARM code. To do so, ensure the target platform is macOS ARM 64-bit. In the Project Options (ensuring macOS ARM 64-bit is the current target) navigate to Building > Delphi Compiler > Compiling > Other, and check ‘Generate macOS universal binary file (x86_64 + arm64)’. Make sure you deploy the application, you can find the universal binary file under the OSXARM64\Debug folder.

MacOS Deprecations

In the RAD Studio 11.0 release, Macapi.QTKit unit is deprecated on macOS/X64, and it’s removed from macOS/Arm64 library. We also removed the "Macapi.Quicktime" unit from the product for both the macOS/X64 and the Arm64 libraries.

Binary Literals and Digit Separator

The Delphi language in Olympus adds support for binary literals, in addition to decimal and hexadecimal ones. A binary literal uses the % symbol as a prefix (the same syntax used by other Pascal compilers):

const
  Four = %100;
var
  x: Integer;
begin
  x := %1001001;

The language also introduces a digit separator that can be used to improve the readability of literal values with many digits. The separator is the underscore “_” and it is basically ignored when parsing and compiling the code. This is very similar to the feature introduced in C# 7.0.

const
  AMillion = 1_000_000;

Of course, you can use the digit separators for binary literals.

Inline assembler support for AVX instructions (AVX-512)

We have introduced support for asm code for newer sets of instructions, including AVX2 (ymm) and AVX512 (zmm).

Attention: You’d need an AVX-512 compatible CPU (like one of the recent INTEL CPUs) to test this feature. You can find more information at: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX-512

C++ ToolChain Improvements

New C++ Code Formatter

The code formatter technology used for C++ has been completely replaced. Code formatting now uses clang-format. The new formatter options for C++ are found in Language > C++ > Formatting. You can always format code manually, but you can also have the IDE automatically format your code when you save, or even as you type. These last two are controlled by the ‘Auto formatting’ setting. Set it to format on save, or format on newline.

The IDE will use format settings specified by a .clang-format file in the source folder, a common C++ project convention. If one is not found, it will use whatever format you choose in the Options dialog (above), where the default is the Embarcadero recommended formatting.

C++ / Delphi Compatibility

We now have C++-compatible RTTI available for Delphi types; you can use make_shared on a Delphi type, and there are type conversions to assist in using Delphi types in C++.

C++-compatible RTTI for Delphi types

In the past, C++ type information was not available for Delphi types; that is, accessing the result of typeid(delphi-type) where delphi-type is a type that comes from Pascal code, or is a Delphi-style class in C++, would result in an AV. Note that typeid returns a std::typeinfo for a type simply, or if it’s a polymorphic type for the most-derived type of that instance.

typeid() now returns a std::typeinfo, and C++-compatible RTTI is generated for Delphi types.

Using smart pointers with Delphi classes

You can now use both std::make_unique and std::make_shared on a Delphi-style class (one defined in Delphi, or in C++ but inherited from one defined in Delphi.)

Type conversions

The RTL now includes helper methods for type conversions between Delphi types and C++ (and Delphi) strings. This includes conversions from TDateTime to string types, as well as being able to easily convert (assign) from a C++ string to a Delphi string, and use std::string_view on a Delphi string. Type conversions to and from strings There are now to_string() and from_string() methods for many types to convert to and from strings (UnicodeString, WideString and AnsiString, including templated by codepage). These methods exist for the following types:

  • Currency
  • TDateTime
  • 32 and 64-bit signed and unsigned integer types
  • Floating point types (as Extended)
  • Variants

Other

  • The Clang compiler now emits a warning when an interface does not derive from IUnknown.
  • You can now attach to a process using the C++ Win64 debugger.
  • An issue where batch compilation for a project ignored .c files has been resolved.

VCL and FireMonkey Changes

In RAD Studio 11.0 we have done a large collection of small improvements to the VCL library, focused on removing some remaining XP legacy and inconsistencies with Windows 10 and improving core library features.

TRichEdit Component updated to RichEdit 4.1 (MSFTEDIT.dll)

We updated the implementation of the VCL TRichEdit component to support a more recent version of the platform control. Additionally, TDBRichEdit.Lines is now a public property. RichEdit URL detection has new features like EnableURLs, ShowURLHint and SetSelTextToFriendlyURL.

Some changes were made to the RichEdit Text Attributes, it now has additional properties like BackColor, Disabled, Hidden, Link, Offset, RevAuthor and Subscript. TParaAttributes has also new types and a new property. Finally TCustomRichEdit now has a new public method.

VCL Modernization Work

New Default Font

For VCL applications, the default font is now Segoe UI 9. The title font of the VCL styles is getting adapted to the same default font.

Memo and RichEdit Margins

New property in TCustomMemo, published in TMemo, TDBMemo, TRichEdit, TDBRichEdit.

Radiogroup without frame

In TCustomGroupBox we have this public property published in TGroupBox, that contains ShowFrame, HeaderFont and DefaultHeaderFont.

DropDownWidth for TComboBox

There are two new properties in TCustomComboBox and descendants (public in the TCustomComboBox class, published in the TComboBox class) that are DropDownWidth and AutoDropDownWidth.

TTreeView support for CheckBoxes

Now TTreeView defines new properties that support CheckBoxes. You can read more about this here.

TWICImage multi frame support

TWICImage multi frame support, there are 2 new properties in type TWICImage defined as FrameCount and FrameIndex. These two properties together allow you to read all valid frames in a multi-frame image file.

New TLabelDBEdit component

There is now a data-aware version of the TLabeldEdit VCL control. To implement it, the hierarchy of the related controls has changed:

  • TCustomLabeledEdit
  • inherits from TCustomMaskEdit
  • new properties: Align, EditMask, etc. inherited from TCustomMaskEdit
  • TDBEdit
  • inherits from TCustomLabeledEdit
  • TDBLabeledEdit
  • new control that inherits from TDBEdit

Additionally, RAD Studio 11.0 adds support for the TLabeledEdit control in the TFlowPanel and TGridPanel containers.

Error Messages improvements

  • In case of an error creating a form from a stream, the error message now includes the form file name.
  • The Exception Dialog has an extra “Copy” button to copy the error message to the clipboard

Coolbar Chevron support

Coolbar has Chevron support via a new Boolean property ShowChevron.

NumberBox

The TNumberBox class introduced in 10.4.2 has a few additional features:

  • CurrencyFormat type is changed from Byte to TNumberBoxCurrencyFormat.
  • There is a new ValueCurrency property.
  • The DisplayFormat property is now published.

Threading safety improvement

In general, UI controls should be created in the main UI thread. If you create a VCL control in a background thread, the behavior is undefined and can lead to fairly obscure access violations.

For this reason, there is a new class property: TControl.RaiseOnNonMainThreadUsage

When this property is True, the VCL will raise an exception in case a TWinControl window handle is created in a thread that’s not the main thread. This prevents issues when this is done by accident. In COM scenarios and other cases, the creation of a handle in a secondary thread might be legitimate and so it remains allowed.

VCL StyleUtils.inc converted to a regular unit

The include file StyleUtils.inc has been converted to a regular unit, allowing developers (and component vendors) to better integrate their code with VCL styles support. The previous include file, in fact, defined private types generally impossible to modify and extend, unlike the new unit.

Attention: While we agreed to move the code to a unit, making some data types public and accessible, we reserve the right to make changes to this style API and cannot guarantee the same level of compatibility with external code that the VCL and RTL libraries generally provide.

Smaller Changes

  • Common dialogs how expose the properties EncodingIndex and ShowEncodingList (which controls whether the dropdown encoding list is enabled and therefore available for use)
  • OnTracking event for TTrackbar (triggered when the thumb position on a trackbar is changing).
  • Options to skip disabled in TPageControl.FindNextPage with an additional CheckTabEnabled parameter.
  • TButtonCategory has a VisibleGutter property.
  • TDateTimePicker and TRichEdit display properly when not enabled.
  • TScrollBox, in this release, automatically supports the mouse wheel -- notice this change might affect the behavior of existing applications in unwanted ways, as the new default is to activate mouse wheel scrolling for controls without the focus.
  • VCL function ScaleImage supports Alpha Channel.
  • TVirtualImageList.Images has a proper property setter.
  • TTreeNode offers support for nsDropHilited state.
  • Default form size is now bigger.
  • SetSelText and SetSelTextBuf offer the option not to reset the Undo buffer.
  • This is managed by a new property CanUndoSelText. It is False by default, which maintains backwards compatibility. If set to True it allows Undo to be called (or an Undo operation to be invoked with the UI) to undo a change made with calls to SetSelText or SetSelTextBuf or by assignments to the SelText property.
  • Some small TEdgeBrowser improvements.
  • TCustomTitleBarPanel now has TitleButtonClose, TitleButtonRestore, TitleButtonMin properties, and a OnUpdateTitlebarButtons event.
  • TDateTimePicker allows changing both date and time together in UI
  • A TPngImage object handles Assign to and from a TWICImage object
  • TWinControl now supports LockDrawing and UnlockDrawing, triggering the execution of the WM_SETREDRAW Windows message:
  • Method TWinControl.LockDrawing disables control updating
  • Method TWinControl.UnlockDrawing enables control updating
  • property TWinControl.IsDrawingLocked returns True if LockDrawing was called (and UnlockDrawing was not called)
  • property TWinControl.RedrawDisabled returns True when the Win32 control drawing is disabled

FireMonkey

For FireMonkey we have focused on some core refactoring, with particular focus on desktop and Windows in particular. Now platform services for macOS and Windows refactored into separate units, extended IFMXMultiDisplayService and TDisplay, extracted all metrics related services into FMX.Platform.Metrics, constraints size for forms, and refactoring of:

  • IFMXSaveStateService
  • IFMXDeviceService
  • IFMXVirtualKeyboardService
  • IFMXTimerService
  • IFMXLoggingService
  • IFMXMenuService

TWebBrowser component for Windows extended with support for Chromium Edge via the platform WebView 2 component, similarly to the existing VCL TWebBrowser support. You can pick the browser engine using the new WindowsEngine property of TWebBrowser.

Google Play Billing Library Version 4

RAD Studio 11.0 offers support for the latest version of Google’s Billing API, an update that’s becoming mandatory later this year for Play Store apps (the final deadline is November ‘21). The new API is integrated seamlessly with the FMX library and your code should adapt easily to the new API.

Android 30 API support

Android API 30 support includes the following changes

  • Support to target Android API 30 (a Google Play Store requirement for 2021)
  • We also migrated from the old “Support Library” libraries to the new “AndroidX” libraries

Also, for Android, RAD Studio now supports the “multidex” feature (which allows your app to generate multiple “classes.dex” files) and uses the newer “D8” DEX compiler instead of the old “DX” one to compile Java bytecode into DEX one. The new releases include a different set of Java libraries and this makes old projects incompatible. When you open an Android project build with an older version of RAD Studio you need to:

  • Navigate to the Projects dockable window.
  • Select Android 32-bit or Android 64-bit as the active target platform.
  • Right-click on the Libraries node.
  • Click on the Revert System Files to Default menu item.

Additional Improvements

  • Firemonkey Accessibility Pack is now integrated in the core product (rather than being a separate download)
  • Improved Z-Order management for combinations of styles and platform controls
  • Removed old deprecated non-scoped enumerated values (that is the FMX Helper classes added to support deprecated enumerations in 2014)
  • Support for file upload in TWebBrowser on the Android platform

RTL and Data

There are many improvements in the core RAD Studio libraries. Here we are providing a summary of the key changes across RTL, FireDAC, HTTP and REST client libraries and more.

Platform Identifiers

RTL adds a new platform identifier, pidOSXArm64 for the macOS/Arm64 platform. The existing pidAndroid32Arm and pidAndroid64Arm identifiers are replaced by the new pidAndroidArm32 and pidAndroidArm64. Now, all platform related identifiers use the same format and order of the compilers: <Platform name> <Architecture name> <Bitness>

RTL: TZipFile

We have focused on ZIP files (that is, the TZipFile class of the RTL) quality, improvements, and optimizations. We added support for Zip64 and a method to remove a file in TZipFile. Also, TZipHeader has a GetFIleName method, TZipFile.IsValid() accepts a stream parameter and System.Zip works with files larger in size than 4 GB.

RTL large data structures improvements

We have made a few improvements in the use of proper data types for larger memory structures under 64-bit compilers. For example, TMemoryStream in 64-bit supports data structures larger than 2 GB. Related to this, we added the new method TThread.GetTickCount64 (while the existing TThread.GetTickCount, returning a 32-bit value, remains in the RTL for compatibility).

New Record Helpers

There is a new record helper for TDateTime, which includes a “UTC Now” function (not available in the original Date RTL), actually called NowUTC. This release also introduces a helper for the TCurrency data type in Delphi, TCurrencyHelper, similar to the TDoubleHelper.

Bluetooth and BLE Improvements

Improvements in this area include both classic Bluetooth and Bluetooth LE and most platforms, with particular focus on Windows 10 and Android (but also iOS and macOS). Improvements also include Beacons support.

Additional RTL Enhancements

Generic Collections Improvements

When using multiple generic types, some generic collections used to have TKey and TValue as symbolic names for the generic types. Now this is confusing as TValue is a specific type in the RTL. To avoid any confusion the symbolic names have been changed. There is no effect to existing code, as the symbolic names are replaced with concrete types when the generic types are instantiated. Additionally, there are few additional constructors for collection classes, that take as parameters an array of values, including:

procedure DoCheckStateChanged(Node: TTreeNode; CheckState: TNodeCheckState);
virtual;
constructor TList<T>.Create(const Values: array of T);
constructor TDictionary<TKey, TValue>.Create(const AItems: array of TPair<TKey, TValue>);

The implementation of TDictionary Capacity, GrowThreshold and hashing has been improved, with a better balance of performance / memory usage / minimal collisions. The internal implementation class TListHelper has been removed in favor of using a strongly typed field TArray<T>, updating all related streaming and data mapping code.

RTTI

Open array support to RTTI: allows invoking methods with an open array parameter via RTTI and also supports open array arguments in TVirtualMethodInterceptor. TValue adds specific support for TDateTime. Also, TValue and Variant type interchange has been improved.

PPL

Made the PPL Thread pool statistics easier to access, that means, TThreadPoolStats.Get method is now public

Streams

New TPointerStream class, allows reading and writing in-memory data using the TStream interface, by indicating a pointer location and a size. TStream.CopyFrom doesn’t require the size, which might be unknown. The method has also been optimized when Count is large (up to 400% improvement).

Dates to String Conversion

Dates to strings and reverse conversions have been improved. Worth to note, that now StrToDate strictly follows ‘to date’ format string, supports date formats with month and day names, and supports date formats with arbitrary text inside. Also improves TFormatSettings date/time related properties initialization and unifies the representation on all platforms.

Create a Interface Instance

There is a new System.Generics.Defaults._MakeInterfaceInstance that allows creating an interface instance, where all interface methods are represented by anonymous methods.

TNoRefCountObject

The new class System.TNoRefCountObject is a non-reference-counted IInterface implementation (replacing the old and oddly named TSingletonObject)

Optimizations and Other

  • Optimized _FinalizeRecord and _FinalizeArray
  • The legacy TDatamodule.OldCreateOrder property has been removed and always default to true. In case the property is present in a form description file, it is ignored (but won’t generate an error). The legacy property was used for compatibility with an older creation order logic, in the early versions of Delphi a long time ago.
  • Improved Pascal System.Pos
  • TArray<T>.BinarySearch optimization
  • Added overloads of TList<T>.Sort( ..., Index, Count )
  • Added System.IOUtils.TFile.Size
  • TObject performance fixes for ClassParent and InitInstance
  • Some improvements to System.IOUtils.TPath
  • RTL support for a system path longer than 260 chars, if supported by the operating system (like on recent versions of Windows)
  • Added class property TThread.OnSynchronize
  • The EInOutError and EInOutArgumentException messages now include the path and have a Path field.

Improved the performance of:

  • _UInt32ToHexString and _UInt64ToHexString
  • Parse and TryParse for TSingleHelper and TDoubleHelper

The TGUID data structure is now defined only in System.pas

JSON

  • Moved ParseJSONValue() from TJSONObject to TJSONValue
  • Added an overloaded TJSONObject.AddPair for an Integer

UTF8ToString Changes

The UTF8ToString overload that accepts an array of AnsiChar has been removed and UTF8ToString(array of Byte) deprecated. The removed function is: UTF8ToString(const S: _PAnsiChr.

Please see System.UTF8ToString for workarounds.

FireDAC

  • PostgreSQL driver supports PostgreSQL up to v 13, including support PostgreSQL Stored Procedures
  • Official support for Oracle 19c and for 128-character parameter names for Oracle Stored Procedures.
  • Extended TFDSortOption with soDigitsAsNumbers, matching the similar TCompareOption in System.SysUtils.
  • Firedac Monitor UI improvements.
  • Improved Firebird driver to look for the driver in VendorHome and not in the /bin subfolder (which was correct for older versions of Firebird)

Internet, HTTP and REST Client Libraries

  • Timeout mechanism for Backend and EMS client components:
  • The TEMSProvider, TKinveyProvider, TParseProvider classes have 2 new properties: ConnectTimeout and ReadTimeout
  • TEMSApi.TConnectionInfo, TParseApi.TConnectionInfo, TKinveyApi.TConnectionInfo: have variables ConnectTimeout and ReadTimeout
  • TDSRestConnection also surfaces ConnectionTimeOut
  • Added Windows support for HTTP / 2
  • New property THttpClient.ProtocolVersion
  • New property TNetHttpClient.ProtocolVersion
  • New TBase64URLEncoding encoding and TNetEncoding.Base64URL property
  • Switched from gethostbyname to getaddrinfo in the entire RTL, for all platforms.
  • New TCertificate.PublicKey, which contains public key modulus
  • ContentType now is of string type, not enum. This allows you to use any one content type string. Also, new CustomContentType in RestRequest
  • Support for TLS 1.3 in TNetHTTPClient for Windows
  • Multiple improvements to TSocket
  • A new component TRESTRequestDataSetAdapter simplifies uploading TDataSet (eg, TFDMemTable) data to a server via JSON. It is a companion for the TRESTResponseDataSetAdapter REST component on the server side.
  • The TRestClient component surfaces the SecureFailureReasons property of the underlying HTTPClient component
  • In the Vcl.Styles unit, the TCustomStyle class FCustomElements and FSource are now declared in the protected section.

Internet Server Technologies

WebBroker

ISAPI DLL threads have a configurable StackSize, using the variable Web.Win.ISAPIThreadPool.StackSize. Significantly improved WebBroker performance when sending/streaming files larger than 2 GB (MaxInt).

RAD Server

Multipart/form-data support for RAD Server

DataSnap

DataSnap: The REST URI is now configurable using a new mechanism, based on a TDSMethodMapEvent event

Installer Changes

RAD Studio 11.0 installer has several changes worth noticing:

  • The minimal installer has been updated to display properly on High DPI screens. The radio buttons and checkboxes should be properly visible.
  • The minimal installer offers a language selection option, rather than relying on the OS detection like in the past. This gives a smoother experience to anyone on a German, French, or Japanese version of Windows who wishes to install the English version of RAD Studio.
  • A new Catalog Repository folder selection for installation files allows you to keep the fairly large installation files in a custom location, other than under the public documents folder:
  • The installation is now faster. The download of complex features happens by downloading multiple files in parallel rather than in sequence. There is parallelism also between download and extraction of compressed files, while the installation of the features happens in sequence. The information displayed during the installation has been modified accordingly, and the odd “feature names” visible in 10.4.x have been removed and replaced by the number of the download file for each feature.

Go to the Delphi Product page.

Here is the Delphi 11 Alexandria Online Help