В конце прошлого года, а именно 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 (без ограничений в использовании).
Я проверил. Действительно иконок довольно много и разных размеров (на рисунке, как вы понимаете, лишь малая часть):
lazdelphi
Дополнение для IDE, добавляющее анализатор ошибок и подсказок компилятора Delphi. Вы можете запустить dcc32.exe как внешний инструмент или выполнить команду execute before в параметрах компилятора и использовать синтаксический анализатор компилятора Delphi для вывода, чтобы ошибки / подсказки в окне сообщений могли открыть исходный код.
Ну что же, на этом я остановлюсь, чтобы не загромождать статью излишними подробностями. Весь список изменений можно найти по указанным выше ссылкам. Паскаль жив!!!
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.