Найти в Дзене

Lazarus 3.0

В конце прошлого года, а именно 23.12.2023, вышла новая версия среды разработки Lazarus. Несмотря на плевки и закидывание тухлыми помидорами со стороны любителей модных языков типа Python, старички вроде Delphi и Lazarus, как видим, не только живы, но и развиваются. Да, конечно, приверженцев у них сейчас не так много. Но я убеждён, что это лишь потому, что у этих инструментов нет хороших маркетологов, а не потому, что эти средства плохие.

Интерфейс новой версии почти не изменился. Может это даже и хорошо. Меня, например, сильно бесит, когда при переходе на новую версию продукта надо неделю а то и больше привыкать к новому интерфейсу. А так изменений довольно много. Все их перечислять не буду. Если кому любопытно, то вот ссылки (на английском):

Ну а скачать новую версию для разных операционных систем можно здесь.

Минимальные системные требования:

  • Windows: 2k, 32 или 64bit, Qt, Qt5, Qt6 (только 64bit)
  • FreeBSD/Linux: gtk 2.24 для gtk2, qt4.5 для qt, qt5.6 для qt5, Qt6.2 для qt6, 32 или 64bit.
  • Mac OS X: Cocoa (64bit) 10.12, Carbon (32bit) от 10.5 до 10.14, Qt и Qt5 (32 или 64bit), Qt6 (только 64bit).

Существует проблема в Mac OS. При обновлении с Ventura до Sonoma 13.6 отладка в среде IDE часто не работает, приложение не запускается. Запуск приложения без отладки и отладка в терминале с использованием lldb в действительности работает. Как только решение будет найдено, разработчики сообщат.

Ну и было бы наверно неправильно вообще ничего не сказать об изменениях. Поэтому выборочно расскажу (выбрано случайным образом))).

Компонент TSpeedButton

  • Старое поведение: многострочные подписи можно было вводить только с помощью кода. И многострочные подписи всегда были выровнены по левому краю.
  • Новое поведение: Многострочные подписи также можно вводить в инспекторе объектов. Новое свойство Alignment, указывающее, как должна быть выровнена подпись. По умолчанию по центру, как в Delphi.

Компонент TLabel

Свойства Transparent, Color и ParentColor изменены.

  • Старое поведение: свойство Transparent было привязано к Color=clNone
  • Новое поведение: Transparent - это отдельное свойство
  • Причина: совместимость с Delphi и устранение проблем с родительским цветом (ParentColor).
  • Исправление: Если вы устанавливаете свойство Color, то свойство Transparent теперь автоматически НЕ переключается с True на False, вам придется сделать это самостоятельно. Это соответствует Delphi, а также решает проблемы с изменением Color/ParentColor.

Компоненты TCheckbox и TRadioButton

  • Другой расчет размера флажка/переключателя для правильного использования функции "простота доступа" в Win-10.
  • Следствие: файлы lfm будут содержать различные размеры этих элементов управления (если они установлены автоматически) по сравнению с более ранними версиями.

Компоненты Grids

Теперь вы можете задать свойства редакторов ячеек ParentColor и ParentFont, включив соответственно goEditorParentColor или goEditorParentFont в свойстве Options2.

Свойства плавающей точки в инспекторе объектов

Инспектор объектов теперь явно запрещает устанавливать значение свойства с плавающей запятой равным +/-Inf или NaN.

Причина: хотя +/-Inf и NaN являются допустимыми значениями для свойства с плавающей запятой, они не могут быть переданы в потоковом режиме (таким образом, форма не может быть загружена), а установка значения NaN вызывала хаос в IDE.

Решение: установите нужное значение во время выполнения (в коде).

Примеры Lazarus

Новый подход к примерам, который копирует пример в новую рабочую область (избегая проблемы Linux только для чтения) и, возможно, более простую в использовании модель поиска.

Коллекция иконок Lazarus

Не является компонентом, но установка Lazarus теперь содержит папку с иконками общего назначения для использования на панелях инструментов, меню, кнопках и т.д. любых графических приложений (папка images/general_purpose).

Изображения имеются разных размеров и, таким образом, совместимы с масштабированным списком изображений Lazarus версии 2.0+.

Автор: Роланд Хан (https://www.rhsoft.de/).

Лицензия: Creative Commons CC0 (без ограничений в использовании).

Я проверил. Действительно иконок довольно много и разных размеров (на рисунке, как вы понимаете, лишь малая часть):

-2

lazdelphi

Дополнение для IDE, добавляющее анализатор ошибок и подсказок компилятора Delphi. Вы можете запустить dcc32.exe как внешний инструмент или выполнить команду execute before в параметрах компилятора и использовать синтаксический анализатор компилятора Delphi для вывода, чтобы ошибки / подсказки в окне сообщений могли открыть исходный код.

Ну что же, на этом я остановлюсь, чтобы не загромождать статью излишними подробностями. Весь список изменений можно найти по указанным выше ссылкам. Паскаль жив!!!

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.