C++Builder Enterprise 10.4.1 Sydney

Released: Sep 2, 2020

Mises à jour de 10.4.1 Sydney

Fonctionnalités

Supported Platforms

  • Added support for deploying apps on Microsoft Windows Server 2019.

IDE

  • Projects
    • Package AUTO libsuffix: packages can now have an automatic version suffix, instead of manually updating and specifying the right version suffix with each new release.
    • The Projects pane context menu items that were no longer available after 10.3 are now available via a drop-down in the Projects pane toolbar.
  • Layouts
    • Improved support for multi-monitor desktop layouts.
    • Improved support for form designers.
    • Improved layout switching: if the same layout is specified for both when opening or closing a project, the layout won’t be applied, avoiding the unnecessary switching of layouts.
    • Desktop layouts which cannot be applied, e.g. they are floating layouts or are no longer supported, will be listed in gray in the Desktop Layout combo box in the title bar.
    • Improved support for 4K monitors.
    • If the IDE expects a project’s .dsk file but it does not find it, it opens using the default layout.
  • UI
    • The Project Options, IDE Options, GetIt, and New Items dialogs now have scrollbar tracking.
    • The Options dialog (environment options) used to always open to show settings for the Win64 target platform; now it opens according to the currently active platform.
    • The guided tour has been removed from the Welcome page.
    • Improved the selection of items on the Structure pane, including where you would click on an item and another item was selected.
  • General
    • The names of the 64-bit Microsoft Windows debuggers (visible in the Attach To Process dialog) have been clarified to explain which is for Delphi and which for C++. This should help you choose which debugger to use when attaching to a process.

RTL Improvements

  • Added new TLightweightMREW Record - Embarcadero have introduced a new reader-writer lock implementation, working across all supported platforms and which is faster and more lightweight than the old TMultiReadExclusiveWriteSynchronizer (a.k.a. TMREWSync). TLightweightMREW wraps a native implementation of a reader-writer lock on each platform.
  • SOAP and XML - SOAP WSDL Importer: Improved the WSDL importing logic and SOAP clients invocation.
  • Web Clients
    • Winapi.Winsock2 now includes inet_ntop to better support IPv6 addresses.
    • TRESTResponseDataSetAdapter imports JSON strings with appropriate length.
    • Improved support for enums in TJSONSerializer.
    • Creating a TIPAddress from a URL now works on Microsoft Windows.
    • Added support for the new NSURLSession API on both Apple Mac OS X 10.11 and Apple iOS 9 platforms.
  • Database
    • Improved FireDAC support for Microsoft SQL Server Function Parameters.
    • Improved TFDQuery with Calculated- and BLOB-Fields.
    • Improved TFDTable PostgreSQL multicolumn index field order.
    • Improved FireDAC-PostgreSQL parsing of QuoteTag inside strings.
  • Other RTL Improvements
    • Improved performance of TStrings with custom LineBreak.
    • Optimized TObject methods returning or checking strings.
    • Optimized LoadResString.

VCL Improvements

  • Improved TGridPanel’s handling of percentage-based spacing.
  • Improved scaling and moved TBitBtn's inbuilt glyphs to HighDPI.
  • Added support for high DPI scaling in the custom title bar.
  • Improved TUpDown component Position property and OnChangingEx event.
  • The StatusBar component has added support for DoubleBuffered drawing.
  • Improved the TLabel word wrap by replacing the font height calculation logic.
  • Improved the caption widths of owner drawn top-level menu items, and styled menus and their scaling.

Embarcadero FireMonkey

  • Improved FMX TMemo - Added improvements to the Microsoft Windows implementation and adding support for Apple macOS to the new FMX TMemo component architecture.

C++ Language

  • Win64 Debugger - The Win64 LLDB-based debugger has several improvements, especially around catching and continuing from exceptions, and in performance (especially when there are many threads.).
  • Improved handling of OS exceptions.
  • Improved IDE performance when stepping, particularly when there are hundreds of threads.
  • General Quality
    • Improved debug info generation especially for Delphi-style classes.

Correctifs

IDE

  • UI
    • Several listview controls, which can be difficult to read in the dark theme, have been replaced by the virtual treeview.
    • Several Object Inspector fixes, especially around flickering and selecting the wrong property.
  • General
    • ‘Broadcast to devices’ is off by default. This always accessed the network on IDE startup, causing errors for some customers. Now that it’s disabled, (valid) network errors will only occur if you turn it on.
    • ‘Delete Invalid Paths’ should no longer remove valid paths.
    • Moving toolbars no longer presents issues.
    • "-showotamenunames" (used by ToolsAPI developers) has been re-enabled.
    • Editing a string list in the code editor now works again.
    • Dialogs are shown in the IDE using a modern style.
    • Drawing issues, such as showing the IDE window as a solid color when opening a project, are resolved.
    • On Windows 7, the title bar no longer has a white line at the top.
    • The action editor used to draw images as black, which is resolved.
    • Some IDE menus now draw correctly (e.g. popup menus in Audits); also some menus did not show the menu Checked state, but now do.
    • The debug symbols search path now supports $(Platform) and $(Config) environment variables.
    • The code editor used to let you select invalid encodings for a unit (applicable only to forms); these are now no longer available.
    • An issue installing packages that presented as being unable to load a package, caused by packages with the filename case differing on disk and usually seen with large projects, has been resolved.

RTL Improvements

  • Parallel Programming Library
    • Many fixes to TThread.WaitFor, TParallel.For, TParallel.Join, TConditionVariableMutex.WaitFor for Linux, TTask.WaitForAny, and the TPoolThread class IdleWorkerThreadCount.
    • Fixed some issues with TThreadedQueue related with PopItem and the use of a large number of threads.
  • SOAP and XML
    • Fixed a few long-standing issues with the TXMLDocument component.
  • Web Client
    • A few TRestResponseDataSetAdapter fixes.
    • Fixed issues with proxy support on macOS.
  • Database
    • A significant number of DataSnap issues have been addressed, including some performance problems and memory leaks and MidasLib, DatasetProvider and TClientDataSet issues.
    • Fixed TFDMemTable FindFirst with IndexFieldNames.

VCL Improvements

  • Several TGrid regressions in version 10.4 have been resolved, including TStringGrid and other grid controls, misalignment in grid StretchDraw method in OnDrawCell, and others.
  • TPageControl SetTabIndex methods now works correctly if there are hidden tabs.
  • TDateTimePicker text doesn’t look blurred on move hovering.
  • TListView infotip stays visible longer.
  • DB Controls border looks the same as the non-data-aware controls.
  • Styles respect the ImageMargins of TButton and TButton text positions.

FireMonkey

  • FMX TMemo - There are fixes for TEdit.
  • Fixed an issue where TListView OnItemClick fires even if already selected.
  • Fixed an issue with inconsistent values for TMediaPlayer.Duration on Android.
  • Fixed iOS WebBrowser issue with external links.
  • Fixed an issue with TStringGrid OnCellDblClick event.
  • Fixed an issue with TListView Checkmark Accessory disappearing.

C++ Language

  • Win64 Debugger
    • Fixed an issue where Delphi visualizers were being invoked: visualizers for TStringList, Currency, TDateTime are no longer invoked.
    • Fixed an issue where the exception dialog was shown when using F7 to start a new debug session.
  • Linker
    • The Win64 linker (ilink64) has had significant revision of its memory handling. This should reduce out of memory errors in large projects, or with debug builds.
  • Exception Handling
    • Several key exception handling issues have been fixed. This includes an issue affecting ACE/TAO allocating memory, where the Windows API can throw a SEH exception.
  • General Quality
    • Several crashes, ICEs and similar resolved in the Clang compiler.
    • Issues generating RTTI for closures have been resolved.

Other Enhancements

  • Fixed an issue with an access violation in the License Manager application.
  • Directly invoking GetItCmd.exe no longer removes installed packages from the system.