Лазарус 2.2.0 — Релиз обновления. Что Нового? Полный список изменений.

Лазарус обновился до версии 2.2.0. Так, как программа Кросс-платформенная, то она была обновлена на следующих системах:

  • Windows x32/x64
  • Linux amd64 DEB / i386 RPM
  • macOS x86-64

Нововведения и Исправлены ошибок:

Изменения LazUtils

FileExistsUTF8 использует SysUtils.FileExists

  • Старое поведение: FileExistsUTF8 поддерживал Unicode в fpc 2.6.x под Windows.
  • Новое поведение: FileExistsUTF8 теперь вызывает SysUtils.FileExists, который поддерживает Unicode в Windows, начиная с fpc 3.0.
  • Причина: упрощение

Блок масок

  • Реализован механизм отключения наборов в заданной маске. Для этого введен новый параметр Options: TMaskOptions. Указание moDisableSets в параметре Options отключит интерпретацию ‘[‘ как начала набора в указанной маске.
  • Пример: MatchesMask(‘[x]’,'[x]’,[moDisableSets]) вернет True.

LazFreeType

  • Блоки рендеринга шрифтов Freetype перемещены в собственный пакет «components/freetype/freetypelaz.lpk»
  • Причина: Подразделения выросли до внушительного количества

Блок PasWStr удален

  • Модуль PasWStr был удален.
  • Причина: он содержал функциональный код, только если компилятор был до версии 3.0.
  • Устранение: удалите PasWStr из раздела «uses».

Изменения интерфейсов LCL

Оптимизирована внутренняя регистрация компонентов и TLCLComponent.NewInstance.

Компоненты LCL регистрируются и сопоставляются с набором виджетов с помощью TLCLComponent.NewInstance. Это недокументированная деталь реализации, которая не должна влиять ни на какие компоненты за пределами самой LCL. Однако некоторые внешние компоненты могут таким же образом поддерживать наборы виджетов. Затем «процедура класса WSRegisterClass; переопределить;» необходим вызов «RegisterWSComponent()». Он был добавлен в компонент OpenGlContext в транке r63636. Пожалуйста, используйте его в качестве примера, если это необходимо.

Наборы виджетов

  • Для набора виджетов Qt5 требуется libQt5Pas v 1.2.8, поскольку результат QWidget_winId() изменяется с PtrInt на PtrUInt.
    • Windows: Qt5Pas1.dll уже находится в каталоге бинарных файлов транка Lazarus.
    • Linux: дистрибутивы должны пересобирать пакеты libQt5Pas.
    • macOS: вы должны пересобрать libQt5Pas с загруженными библиотеками Qt5Pas (минимум Qt5-5.6).
  • Qt5 добавил QLCLOpenGLWidget в libQt5Pas v.1.2.8 для полной поддержки компонентов OpenGL.
  • Qt, Qt5 и Gtk2: размеры формы теперь точны на x11 (рамка вокруг формы).
    • Решение обеспечивается путем создания фиктивного виджета до создания Application.MainForm.Handle. Это можно отключить с помощью переключателя командной строки «-disableaccurateframe». Эта функция используется только внутри WidgetSet.GetWindowRect().
  • Qt и Qt5: размеры формы теперь точны в MS Windows и macOS.
    • Это достигается путем создания winID, если форма еще не отображена внутри WidgetSet.GetWindowRect().

Обновленную версию 2.2.0 можно скачать в этом разделе. 

Добавить комментарий

Ваш адрес email не будет опубликован.