Установка компонентов FastReport и FastCube в Lazarus

26.09.2023

FastReport в Lazarus

С релизом новой версии для Delphi направления 2023.3 произошли изменения во внутренней инфраструктуре продуктов. В этой статье мы рассмотрим установку компонентов FastReport в Lazarus.

Содержание статьи:

1. Что нового?
2. Сравнение редакций и продуктов;
3. Установка продуктов в Lazarus;
3.1 Установка Lazarus для Windows;
3.2 Установка Lazarus для Linux;
3.3 Установка пакетов в Windows;
3.4 Установка пакетов в Linux.

Что нового?

Продукт для генерации отчетов FastReport состоит из нескольких компонентов, в частности из движка скрипта, ядра построения отчета, пакетов локализации. Эти компоненты распространяются и в Rad Studio, и в Lazarus.

В Lazarus появились новые пакеты. Ранее смена языка требовала большой перекомпиляции, теперь же у нас появился пакет frLocalizationLibrary.lpk который управляет сменой языка. Каждый язык представлен в виде отдельного пакета, например frLanguageGermanPkg.lpk, frLanguageJapanesePkg.lpk, …

Английский язык, как и ранее, выбран по умолчанию поэтому отдельного языкового пакета под английский язык нет.

Смена языка не требует даже перезапуска приложения, его можно менять прямо в процессе работы.

Для смены языка нужно:
1. Положить на форму компонент TfrLocalizationController (из пакета frLocalizationLibrary.lpk);
2. В его свойстве Language выберете нужный язык (например, Italian), список языков зависит от установленных в IDE пакетов;
3. Добавьте в инспекторе проекта языковой пакет (например, frLanguageItalianPkg);
4. В коде основного юнита в разделе uses добавьте имя пакета без окончания Pkg (например, frLanguageItalian).

А также были выделены пакеты frCoreLibrary.lpk и frGraphicsLibrary.lpk, которые не добавляют новых компонентов, но хранят в себе общий код для различных продуктов.
Для удобства все пакеты, имеющие расширение .lpk, перенесены в одну директорию. Теперь пользователям не придется искать вручную в папках конкретные пакеты.
Остальные файлы, как и ранее распределены по директориям, ибо это необходимо самому Lazarus.

Дополнительно был адаптирован продукт FastCube для платформы Lazarus. Попробуйте встроить FastCube в свой проект с помощью триальных компонентов.

Сравнение редакций и продуктов

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

Название пакета

Описание пакета

FastScript

FastReport

FastCube

fs_lazarus.lpk

библиотека для выполнения скриптов

+

+

+

frCoreLibrary.lpk

вспомогательный пакет с реализацией общего базового функционала

+

+

+

frLocalizationLibrary.lpk

пакет для управления языками

+

+

+

frLanguage*Pkg.lpk

 40 языковых пакетов

+

+

+

frGraphicsLibrary.lpk

вспомогательный пакет с реализацией общего графического функционала

-

+

-

fr_lazarus.lpk

пакет со всеми основными компонентами продукта

-

+

-

frxchartlazarus.lpk

пакет для chart-ов(диаграмм)

-

+

-

frxe_lazarus.lpk

пакет с экспортами

-

+

-

frxlazdbf.lpk

пакет для работы с БД формата BDF

-

+

-

frxlazsqlite.lpk

пакет для работы с СУБД SqLite

-

+

-

frxPDFlazarus.lpk

пакет для отображения PDF документов(только для Windows)

-

+

-

frxrichlazarus.lpk

пакет для отображения Rich документов(рекомендуется только для Windows ввиду ограничений базового пакета)

-

+

-

frCS_lazarus.lpk

пакет с клиент-серверными компонентами, с ними вы можете познакомиться тут

-

+*

-

fcxLazarus.lpk

пакет со всеми основными компонентами продукта

-

-

+

fcxprint.lpk

пакет для интеграции с FastReport

-

-

+

fcxprintTee.lpk

пакет для интеграции с FastReport Chart(диаграммы)

-

-

+

fcxScript.lpk

пакет для интеграции с FastScript

-

-

+

fcxexport.lpk

пакет с экспортами FastCube

-

-

+

fcxCharting.lpk

пакет для chart-ов(диаграмм) В FastCube

-

-

+

*Клиент-серверные компоненты входят в FastReport только в лицензии Enterprise.

Дополнительно рассмотрим Trial и Academ лицензии соответствующих продуктов. Trial нужна для тестирования продукта перед покупкой, Academ используется в образовательных целях и не применяется в коммерческих проектах.Обе лицензии включают в себя предварительно скомпилированные версии урезанных пакетов.

FastScript - Trial имеет одно ограничение - недоступен запуск скриптов.

Ограничения FastReport - Trial:

  • Только английский язык;
  • Печать и экспорт ограничена 5 страницами с пометкой в углу ,что редакция Trial;
  • Отсутствует Rich View.

Ограничения FastReport - Academ:

  • Печать и экспорт отмечены водяным знаком редакции;
  • Отсутствуют Rich View, 2D штрихкоды, большая часть экспортов.

FastCube Trial имеет одно ограничение - в случайных ячейках вместо данных выводится текст “TrialString”.

 

Установка FastReport в Lazarus

Начнём с установки, собственно, Lazarus. В самом начале нам нужно поставить ПО под свою операционную систему.

Установка Lazarus для Windows

Первым делом скачиваем установочный пакет Lazarus с официального сайта и выбираем разрядность своей системы.

Установка Lazarus для Windows

Для Windows установщик Lazarus-а укладывается всего в один .exe файл и с ним не должно возникнуть проблем.

Далее мы скачиваем с официального сайта нужную версию архива.

Установка Lazarus для Windows

Из скаченного архива копируем содержимое в C:\Windows\System32 и C:\Lazarus, после чего перезагружаем Windows. Затем запускаем Lazarus и настраиваем его. Просто нажимаем «ок» и соглашаемся с настройками по умолчанию.

Установка Lazarus для Linux

Есть 2 способа установить Lazarus в Linux. Первый способ - через менеджер пакетов. Для этого введите в терминал одну из следующих команд:

// DEB Users -
sudo apt-get install lazarus
// RPM Users -
sudo yum install lazarus
// or
sudo dnf install lazarus

Это очень быстро и просто, но данная команда установит “стабильную” версию Lazarus (имеется в виду последнюю оттестированную версию на вашем дистрибутиве, причём для разных дистрибутивов они будут отличаться). Стабильная версия может отставать от актуальной (самой последней) версии.

В отличие от Delphi и Rad Studio наши компоненты не поддерживают старые версии Lazarus. Тем самым возможны ситуации в которых наши продукты не заработают под стабильной версией. И в отношении Lazarus наши компоненты разрабатываются только на актуальной версии Lazarus.

Особенно актуально это для крупных (релизных) обновлений Lazarus. Если же стабильная версия отличается от актуальной незначительно, то есть большой шанс на корректную работу наших компонентов. Наша компания не несёт ответственности за корректную работу с этой версией. Вы как пользователь делайте это “на свой страх и риск”. В худшем случае вы потеряете немного времени на обновление Lazarus до актуального.

Но еще важнее это в отношении предварительно скомпилированных компонентов (Trial и Academ редакции). Самая главная особенность предварительно скомпилированных пакетов в Lazarus состоит в том, что они будут работать только на той версии Lazarus, на которой они компилировались (то есть на актуальной).

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

Как и в Windows в первую очередь скачиваем установочный пакет Lazarus с официального сайта (https://www.lazarus-ide.org/).

Установка Lazarus для Linux

Каждый пункт в данном списке состоит из 4 файлов (3 пакета-установщика и текстовый файл).
- Установочный пакет Lazarus(project);
- Установочный пакет fpc-src;
- Установочный пакет fpc(laz);
- Файл README.txt.

Важно установить их в правильном порядке. Сначала fpc(laz), затем fpc-src и в последнюю очередь Lazarus(project).

Немного подробнее рассмотрим сам процесс установки. Дело в том, что последний пакет Lazarus(project) в большинстве дистрибутивов будет иметь около 100 отсутствующих зависимостей.

Поэтому проще всего устанавливать пакеты через какое-нибудь графическое вспомогательное приложение (например, QApt или GDebi), которое самостоятельно скачает необходимые вспомогательные пакеты.

Но если вы будете пользоваться более простыми утилитами, которые не умеют автоматически скачивать зависимости (например dpkg), то после установки вам придется установить их самим. Это зачастую делается очень просто. В нашем примере после установки пакета с ошибкой о нерешенных зависимостях вам будет достаточно ввести следующую команду:

sudo apt-get -f install

На этом установка Lazarus в Linux будет завершена.

Заранее устраним проблему со шрифтами. Во всех операционных системах есть шрифты, которые установлены по умолчанию. Так, например, шрифт Arial по умолчанию есть и в Windows и скажем в Ubuntu. Но по факту Arial установленный по умолчанию в Ubuntu это не тот же самый Arial установленный в Windows, потому текстовые отчеты, созданные в Windows Lazarus будут плохо выглядеть в Linux Lazarus (и наоборот).

Чтобы этого избежать сразу установим в Linux шрифты как в Windows. Для Ubuntu это можно сделать командой:

sudo apt-get install msttcorefonts

Но для других Linux дистрибутивов команда может отличаться. Далее для корректной работы SqLite требуется установить следующие пакеты: sqlite3, libsqlite3-dev. Подробнее можно почитать тут. (https://wiki.freepascal.org/SQLite).

Для Ubuntu это можно сделать командой:

sudo apt-get install sqlite3 libsqlite3-dev

Запускаем Lazarus и настраиваем его. Нажимаем «Ок» и соглашаемся с настройками по умолчанию.

Установка пакетов в Windows

Наш новый установщик в Windows сам установит все пакеты за вас. Просто запустите его и следуете инструкции.

Приветственное окно установщика

Выбор IDE и устанавливаемой версии

Отдельно стоит отметить то, что вам не придется искать директории Lazarus-а по всему компьютеру, достаточно использовать файлы настроек, генерируемые при установке Lazarus. Поэтому наш установщик не сможет найти ваш 2 или 3 Lazarus, который вы скопировали руками.

Если вы хотите, чтобы на вашем устройстве было несколько Lazarus и в каждом стоял Fastreport или другой наш продукт, то для установки второй копии Lazarus запускайте установщик Lazarus и ставьте галочку “мультиустановка”.

Функция “мультиустановка” в установщике Lazarus

Установка пакетов в Linux

Для Linux нужно скачать с официального сайта соответствующий .deb или .rpm пакет и установить его. В данный момент они просто распаковываются в соответствующую папку в директории “/usr/share/…”. Директория указана в описании самого пакета.

В Linux пока не планируется автоматическая установка пакетов аналогичная Windows.

Если вы новичок в Linux, то рекомендуем скопировать разархивированный продукт в вашу домашнюю директорию(“/home/username/”) чтобы не заморачиваться с правами доступа.

Как и говорилось выше все .lpk файлы собраны в папке Lpks. Для установки пакетов нажимаем Пакет (Package) -> Открыть файл пакета *.lpk (Open Package File .lpk), выберете пакет в файловом менеджере и у вас появится следующее окно:

Окно установки

В нем для Professional и выше нажмите компилировать (Compile), дождитесь окончания компиляции и нажмите использовать (Use).

Для Academic и Trial сразу нажмите использовать (Use). После установки каждого пакета Lazarus будет перезагружаться.

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

Впрочем, вы можете установить все пакеты разом, а Lazarus сам будет разбираться с порядком компиляции, для этого:

1. В Lazarus выберите “Пакет” -> “Открыть файл пакета (.lpk)”;
2. Выделите все требуемые пакеты и нажмите “открыть”;
3. Выберете “Пакет” -> “Установить/Удалить пакеты”;
4. В колонке “Доступные для установки” (справа) выберите нужные пакеты;
5. Нажмите “Сохранить и перезапустить IDE”.

До версии 2.0.0 очень часто встречалась ошибка компиляции и (или) установки, в момент написания этого документа последней версией является 2.2.6 и эту ошибку в Lazarus до сих пор полностью не убрали, но значительно сократили её вероятность.

Если у вас 1 из пакетов не будет компилироваться или устанавливаться, то вам придется опуститься вниз и перекомпилировать или переустановить зависимости пакета.

Окно установки

Для этого нажмите по необходимому пакету двойным кликом мыши и перекомпилируйте, а после переустановите.

После удачной установки всех пакетов нажмите Проект (Project) -> Открыть проект (Open Project) и откройте проект fast-report\LDemo\FRDemo.lpi и попробуйте его запустить, после чего нажмите кнопку Design.

Если у вас выдаст вот такую ошибку отрицательной высоты в Linux:

 

Ошибка отрицательной высоты

В некоторых редких GTK интерфейсах можно встретить этот баг. Просто запускайте приложение без отладки или же поставьте галочку напротив «Игнорировать этот тип исключений».

*Или смените графическую оболочку. Например, эта ошибка не проявляется в GTK оболочке KDE Plasma.

Последний нюанс, который вам важно знать, при создании своих проектов, что наш дизайнер использует многопоточность, которая в Linux Lazarus по умолчанию отключена. Для того чтобы её включить, откройте в инспекторе проекта (Проект -> Инспектор проекта) файл с расширением «.lpr» и допишите в первым пунктом в uses юнит cthreads.

8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.
11 декабря 2023

Новый транспорт S3 (Amazon) в FastReport VCL

В этой статье мы рассмотрим новый транспорт в S3 (Amazon) для FastReport VCL, являющийся объектным хранилищем файлов и бакетов.
4 октября 2023

Как из приложения ASP.NET Core сформировать отчет с использованием FastReport.Core.Skia

Рассказываем как сформировать отчет на Windows и Linux с использованием FastReport.Core.Skia и приватного NuGet сервера.