10 сентября 2025

Изменения Delphi RTL в Delphi 13 Florence

В предстоящем релизе Delphi 13 Florence (RAD Studio 13 Florence) пользователей ждут изменения в Run-Time Library (RTL):
  • Улучшена обработка JSON.
  • Обновлены TDictionary<K,V> и TOrderedDictionary<K,V>: некоторые методы TDictionary стали виртуальными и переопределены в TOrderedDictionary, поскольку TOrderedDictionary унаследован от TDictionary. Благодаря этому изменению приведение TOrderedDictionary к TDictionary должно сохранить поведение TOrderedDictionary.
  • Добавлена нечувствительная к регистру версия функции TStringHelper.Contains.
  • Добавлено семейство функций System.StrUtils.LiteralToInt, которое поддерживает "_" и двоичные литералы (функционал добавленный в литеральные значения языка Object Pascal в Delphi 11). В результате классы TIntegerProperty и TInt64Property теперь используют TryLiteralToInt.
  • Новый метод TPath.Exists.
  • В класс TRegistry добавлены методы ReadUInt64 и WriteUInt64.
  • У TThreadedQueue теперь есть свойство Count для обеспечения согласованности имён.
  • Конструкторы классов синхронизации TMutex, TSemaphore и TEvent теперь устанавливают свойство THandleObject.LastError перед возвратом управления вызывающему объекту.
  • Новый вариант конструктора TStringList: constructor Create(Options: TStringsOptions; Duplicates: TDuplicates = dupIgnore); overload;
  • Добавлены публичные перегруженные методы TValue (в System.Rtti):
    • From(const AValue; ATypeInfo: PTypeInfo): TValue
    • AsType(ATypeInfo: PTypeInfo; var VOutput) to TValue
  • Модуль System.RTTI получил новую функцию GetStorageSize для чтения количества байтов, необходимых для хранения значения данного типа в памяти.
  • Добавлен новый метод TSizeF.Zero.
  • Изменения в GUIDToString в System.SysUtils:
    • Новая функция GUIDToBuf - преобразует значение TGUID в строку и помещает результат в буфер. Поддерживаются форматы B, D, N, P, X и H. H — это дополнение к формату .NET, соответствующее представлению константы TGUID в Pascal.
    • GUIDToString имеет перегруженную функцию с аргументом Format.
    • TGUIDHelper.ToString имеет перегруженный метод с аргументом Format.
  • Для отладки сценариев взаимоблокировки добавлено свойство WriterID в IReadWrite/TMultiReadExclusiveWriteSync:
    • TMultiReadExclusiveWriteSynchronizer.WriterID: TThreadID - возвращает ThreadID текущего писателя;
    • Добавлена поддержка интерфейса IReadWriteSyncState, реализованного в TMultiReadExclusiveWriteSynchronizer.
  • TRttiDataMember реструктурирован путем введения нового промежуточного класса:
    TRttiPlaceMember = class abstract(TRttiMember) 
    TRttiDataMember = class abstract(TRttiPlaceMember) 
    TRttiIndexedProperty = class(TRttiPlaceMember)
  • Обновлены хедеры WinAPI.

Комментариев нет:

Отправить комментарий