在Linux上编译和运行 uniGUI 应用程序
第一步是创建一个独立的 uniGUI 应用程序。
New -> Other... -> Delphi -> uniGUI for Delphi -> Application Wizard

将在IDE中创建一个标准的uniGUI应用程序:

默认目标平台是 Windows 32。对于 Windows,您可以直接编译和运行此应用程序。
对于 Linux64 平台,应该进行一些调整。首先,我们需要调整框架文件的路径。目前没有适用于 Linux 的运行时包,因此我们需要手动调整代码中的路径。
实际上,这很容易做到。在 ServerModule 中,有一个名为 FrameworkFilesRoot 的新属性。它允许您轻松调整所有框架文件所在的路径。
注意:Staring with build 1591 uniGUI runtime for Linux 以 tar.gz(或 tar.xz)格式部署,可从客户门户下载。

对于 1591 之前的版本,您需要手动创建 Linux 运行时文件。首先,您需要创建一个包含所有 uniGUI 运行时文件的压缩文件。
打开安装了 uniGUI 的文件夹。有 4 个文件夹包含 uniGUI 运行时文件。

现在创建一个压缩的 ZIP 文件,其中将包含所有这些文件夹和子文件夹。

使用 FTP 或任何其他首选方法将此 ZIP 文件复制到您的 Linux PC。

在 Linux 机器中,我们在 etc 文件夹下创建了一个名为 fmsoft/unigui 的文件夹。由于 etc 是一个 Linux 系统文件夹,因此您需要管理员权限才能执行此作。
将您的 zip 文件复制到此文件夹中。同样,您将需要管理员权限。
您还可以在 Linux 主文件夹下选择一个文件夹,但使用 etc 会更好,因为它对所有用户都可见。
现在将此文件解压缩到当前文件夹中。将创建一个名为 unigui_runtime 的新文件夹。它包含 uniGUI 应用程序在 Linux 服务器上运行所需的所有文件。如果您使用任何第三方 uniGUI 控件,那么您也需要在此处复制它们。

请注意,Linux 是一个区分大小写的操作系统,因此在您的应用程序中,所有文件和文件夹名称都应使用相同的大小写来引用。
现在让我们回到我们的 uniGUI 应用程序并配置 FrameworkFilesRoot 属性。
procedure TUniServerModule.UniGUIServerModuleBeforeInit(Sender: TObject); begin {$ifdef Linux64} FrameworkFilesRoot := '/etc/fmsoft/unigui/unigui_runtime'; {$endif} end;
在 OnBeforeInit 事件中添加上面的行。请注意,我们还定义了一个条件指令,因此只有在为 Linux 平台编译应用程序时才会激活此语句。
从内部版本 1591 开始,可以使用新的 FrameworkFilesRootLinux 属性。此属性可以留空,当它为空时,它将使用默认值“/etc/fmsoft/unigui/unigui_runtime”。
简而言之,从内部版本 1591 开始,如果未向 FrameworkFilesRoot 或 FrameworkFilesRootLinux 分配任何值,则任何 Linux 应用程序都将使用此默认路径。请注意,为了保持向后兼容性,如果 FrameworkFilesRootLinux 为空,则分配给 FrameworkFilesRoot 的值将用于 Linux 平台。如果同时为 FrameworkFilesRoot 和 FrameworkFilesRootLinux 分配值,则在这种情况下,FrameworkFilesRoot 将用于 Windows 平台,FrameworkFilesRootLinux 用于 Linux 平台。
因此,如果要使用内部版本 1591 或更高版本编译应用程序,而不是将代码添加到 OnBeforeInit 处理程序,则可以直接将值分配给 ServerModule、FrameworkFilesRootLinux 或 FrameworkFilesRoot 属性之一。(见上文)
下一步是将 Linux64 平台目标添加到您的应用程序中。


在此步骤中,为 Linux64 平台构建您的项目。如果一切正确,您应该能够成功构建应用程序。您的 Linux 可执行文件将位于 .\Linux64\Debug\ 文件夹中。

您会注意到该文件没有扩展名,因为在 Linux 中可执行文件没有默认扩展名。
在此步骤中,我们已准备好运行应用程序。我们假设 PAServer 应用程序在 Linux 上运行,并且 Delphi 已正确配置为与 PAServer 通信。
通过按 F9,Delphi 将开始将 Linux 应用程序部署到您的 Linux 服务器。部署完成后,应用程序将在 Linux 服务器上以调试模式执行。
现在,您可以通过在浏览器选项卡中打开您的第一个 uniGUI Linux 应用程序来测试它。应用程序的正确 URL 应为 http://linuxserver_ip_address:8077
在我们的特殊情况下,我们的 Linux 服务器位于地址 192.168.1.15,因此我们应该调用 http:// 192.168.1.15:8077/

如果所有设置都正确,您将在浏览器中看到一个空白的 uniGUI 表单。祝贺!您刚刚运行了您的第一个 Linux uniGUI 应用程序!
注意:
如果要为 Linux 平台转换/编译现有的 uniGUI 应用程序,您可能会注意到 Linux64 目标平台可能不会出现在可用目标列表中。
要解决此问题,请关闭项目并在文本编辑器中打开相关的 .dproj 文件。
更改以下行:
<FrameworkType>VCL</FrameworkType>
为
<FrameworkType>None</FrameworkType>
在此更改之后,您应该能够在可用平台列表中看到 Linux64 平台。
浙公网安备 33010602011771号