在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號