
Delphi 2023.3 新版本的发布带来了产品内部基础结构的变化。本文将讨论在 Lazarus 中安装 FastReport 组件的问题。
文章内容
1.有什么新功能?
2.版本和产品比较;
3.在 Lazarus 中安装产品;
3.1 安装 Windows 版 Lazarus;
3.2 安装 Linux 版 Lazarus;
3.3 在 Windows 中安装软件包;
3.4 在 Linux 中安装软件包。
新功能
报表生成产品 FastReport 由多个组件组成,包括脚本引擎、报表构建核心和本地化软件包。这些组件同时发布在 Rad Studio 和 Lazarus 中。
Lazarus 中有新的软件包。以前,更改语言需要大量的重新编译,但现在我们有了 frLocalizationLibrary.lpk 软件包来处理语言切换。每种语言都以单独软件包的形式存在,例如,frLanguageGermanPkg.lpk、frLanguageJapanesePkg.lpk 等。
和以前一样,默认情况下选择英语,因此没有单独的英语语言包。
语言切换甚至不需要重启应用程序,可以在运行过程中直接更改。
要更改语言,您需要
1.在表单上放置 TfrLocalizationController 组件(来自 frLocalizationLibrary.lpk 软件包);
2.在语言属性中选择所需的语言(例如意大利语);语言列表取决于集成开发环境中安装的软件包;
3.在项目检查器中添加语言包(例如,frLanguageItalianPkg);
4.在主单元代码和用途部分添加不带 Pkg 结尾的软件包名称(例如,frLanguageItalian)。
此外,我们还分配了 frCoreLibrary.lpk 和 frGraphicsLibrary.lpk 软件包。它们不添加新的组件,但包含不同产品的共享代码。
为方便起见,所有以 .lpk 为扩展名的软件包都被移到了一个目录下。用户不必再手动搜索不同文件夹中的特定软件包。
按照 Lazarus 的要求,其余文件仍像以前一样分布在目录中。
此外,FastCube 产品还适用于 Lazarus 平台。有关 FastCube 产品的更多信息,请访问此链接。请尝试使用试用组件将 FastCube 集成到您的项目中。
版本和产品比较
查看产品的最佳方法是查看它们包含哪些软件包。
| 软件包名称 | 软件包描述 | FastScript | FastReport | FastCube |
| fs_lazarus.lpk | 脚本执行库 | + | + | + |
| frCoreLibrary.lpk | 具有常用基本功能的辅助软件包 | + | + | + |
| frLocalizationLibrary.lpk | 语言管理包 | + | + | + |
| frLanguage*Pkg.lpk | 40 个语言包 | + | + | + |
| frGraphicsLibrary.lpk | 具有一般图形功能的辅助软件包 | - | + | - |
| fr_lazarus.lpk | 包含产品所有主要组件的软件包 | - | + | - |
| frxchartlazarus.lpk | 图表包 | - | + | - |
| frxe_lazarus.lpk | 带导出的软件包 | - | + | - |
| frxlazdbf.lpk | 用于处理 BDF 格式数据库的软件包 | - | + | - |
| frxlazsqlite.lpk | 软件包,用于使用 SqLite DBMS | - | + | - |
| frxPDFlazarus.lpk | 用于显示 PDF 文档的软件包(仅限 Windows) | - | + | - |
| frxrichlazarus.lpk | 用于显示丰富文档的软件包(由于基本软件包的限制,建议仅在 Windows 环境下使用) | - | + | - |
| frCS_lazarus.lpk | 一个包含客户端-服务器组件的软件包,您可以在这里找到它们 | - | +* | - |
| fcxLazarus.lpk | 包含产品所有主要组件的软件包 | - | - | + |
| fcxprint.lpk | 与 FastReport 集成的软件包 | - | - | + |
| fcxprintTee.lpk | 用于与 FastReport 图表(图表)集成的软件包 | - | - | + |
| fcxScript.lpk | 与FastScript集成的软件包 | - | - | + |
| fcxexport.lpk | 带有 FastCube 导出的软件包 | - | - | + |
| fcxCharting.lpk | 用于FastCube中图表的软件包 | - | - | + |
*只有在企业许可证中,FastReport 才包含客户端-服务器组件。
让我们再看看相应产品的试用版和学术版许可证。
试用版用于在购买前测试产品,Academ 用于教育目的,不用于商业项目。
两种许可证都包含预编译版本的精简软件包。
FastScript 试用版有一个限制--不能运行脚本。
FastReport 试用版的限制:
- 仅限英文;
- 打印和导出仅限于 5 页,角落有试用说明;
- 缺少丰富的视图。
FastReport Academ 的限制:
- 打印和导出带有编辑水印;
- 缺少丰富视图、二维条形码和大部分导出功能。
FastCube 试用版有一个限制--"TrialString "文本显示在随机单元格中,而不是数据。
在 Lazarus 中安装 FastReport
让我们从 Lazarus 开始。首先,我们需要为操作系统安装软件。
为 Windows 安装 Lazarus
从官方网站下载 Lazarus 安装包,并选择系统的位深度。

在 Windows 系统中,Lazarus 安装程序只需一个 .exe 文件,因此不会有任何问题。
接下来,我们从官方网站下载所需版本的压缩包。

从下载的压缩包中复制内容到 C:\Windows\System32 和 C:\Lazarus,然后重启 Windows。然后启动 Lazarus 并进行配置。点击 "OK "并同意默认设置即可。
安装Linux版Lazarus
与在 Windows 中一样,首先从官方网站(https://www.lazarus-ide.org/)下载 Lazarus 安装包。

此列表中的每个项目由 4 个文件(3 个安装包和 1 个文本文件)组成。
- Lazarus 安装包(项目);
- 安装包 fpc-src;
- 安装包 fpc (laz);
- README.txt 文件。
按正确顺序安装非常重要。首先是 fpc (laz),然后是 fpc-src,最后是 Lazarus (project)。
先解决字体问题。所有操作系统都有默认字体。例如,Windows 和 Ubuntu 都默认使用 Arial 字体。但事实上,Ubuntu 默认安装的 Arial 与 Windows 安装的 Arial 并不相同。因此,在 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 安装程序将为你安装所有软件包。只需启动它并按照说明操作即可。


值得注意的是,你不必在电脑上到处寻找 Lazarus 目录;你需要使用安装 Lazarus 时生成的设置文件。因此,我们的安装程序不会找到你手工复制的 2 或 3 个 Lazarus。
如果您想在设备上安装多个Lazarus,并且每个Lazarus都有FastReport或我们的其他产品,那么请运行Lazarus安装程序并勾选 "多重安装 "复选框以安装第二个Lazarus副本。

在 Linux 上安装软件包
对于 Linux,你需要从官方网站下载相应的 .deb 或 .rpm 软件包并安装。现在只需将它们解压缩到"/usr/share/... "目录下的相应文件夹中即可。目录已在软件包本身的说明中指定。
目前尚未计划在 Linux 上进行类似 Windows 的自动软件包安装。
如果您是 Linux 新手,我们建议您将解压后的产品复制到您的主目录("/home/username/"),以避免访问权限问题。
如上所述,所有 .lpk 文件都收集在 Lpks 文件夹中。要安装软件包,请单击软件包 -> 打开软件包文件 .lpk,在文件管理器中选择软件包,然后会看到以下窗口:

在其中单击 "为专业版及更高版本编译",等待编译完成,然后单击 "使用"。
对于学术版和试用版,请立即点击使用。安装完每个软件包后,Lazarus 会重新启动。
之前我们提到了软件包安装的严格顺序。但由于多种原因(软件包数量增加、软件包之间的联系更加复杂,以及考虑到它们都位于同一文件夹),这种方法已变得不再适用。您可以轻松找到出现在您要安装的软件包的依赖关系中的软件包。
不过,你也可以一次性安装所有软件包,Lazarus 会自行处理编译顺序:
1.在 Lazarus 中,选择 "Package(软件包)" -> "Open Package File (.lpk)" (打开软件包文件 (.lpk) );
2.2. 选择所有需要的软件包并点击 "打开";
3.选择 "Package(软件包)" -> "Install/Delete packages(安装/删除软件包)"; 4;
4.在 "可安装 "栏(在右侧),选择所需的软件包;
5.点击 "保存并重新启动 IDE"。
在 2.0.0 版之前,编译和(或)安装错误非常常见;在编写本文档时,最新版本为 2.2.6,Lazarus 尚未完全消除这种错误,但其可能性已大大降低。
如果有一个软件包无法编译或安装,那么你就必须重新编译或重新安装该软件包的依赖包。

为此,请双击所需的软件包,重新编译,然后重新安装。
成功安装所有软件包后,点击 Project -> Open Project(项目 -> 打开项目),打开项目 fast-report\LDemo\FRDemo.lpi 并尝试运行。然后点击 Design(设计)按钮。
如果在 Linux 下出现负高度错误,请执行以下操作

不用担心。我们同时支持 GTK 和 QT 界面(但请记住,开发工作主要是在 GTK 上完成的)。在一些罕见的 GTK 界面中可能会出现此错误。只需在不调试的情况下运行应用程序,或选中 "忽略此类异常 "旁边的复选框即可。
*或者更改图形外壳。例如,此错误不会出现在 KDE Plasma GTK 外壳中。
最后一个必须了解的细节是,我们的设计器使用了多线程,而 Linux Lazarus 默认情况下是禁用多线程的。要启用它,请打开项目检查器(项目 -> 项目检查器),找到扩展名为".lpr "的文件,并在 "用途 "部分的第一项添加 "cthreads "单元。
渝公网安备50010702505508