問題:我要如何覆寫(overwrite)部分 Genero 的基本功能?

本文說明一種透過 Genero 模組與資源檔搜尋優先順序,來客製化 Genero 行為的技術——不需直接修改 FGLLDPATH,而是將修改後的版本放置在搜尋順序更靠前的目錄中。

程式模組的搜尋順序(FGLLDPATH)

Genero 在尋找程式模組時,依照以下順序搜尋:

  1. 目前工作目錄(Current working directory)
  2. 程式檔案所在目錄(Program file directory)
  3. FGLLDPATH 環境變數所指定的目錄
  4. $FGLDIR/lib 目錄

資源檔的搜尋順序(FGLRESOURCEPATH)

Genero 在尋找資源檔時,依照以下順序搜尋:

  1. 目前工作目錄(Current working directory)
  2. FGLRESOURCEPATH / DBPATH 環境變數所指定的目錄
  3. $FGLDIR/lib 目錄
  4. 程式檔案所在目錄(Program file directory)

實作方式

本文以內建的搜尋視窗(fglfind.per)為例,說明覆寫流程:

  1. $FGLDIR/src 複製原始檔案
  2. 根據需求修改 UI 或功能
  3. 編譯修改後的檔案
  4. 將編譯產出放置在 FGLLDPATHFGLRESOURCEPATH 所參照的目錄中(確保優先於 $FGLDIR/lib 被搜尋到)

重要注意事項

採用此技術的開發人員需承擔以下責任:

  • 每次平台升級後都需重新檢視自訂內容,確認是否與新版本相容
  • 檢查被覆寫的檔案是否需要套用官方修補程式(patch)
  • 向技術支援回報問題時,應先針對標準(未修改)的檔案進行驗證,排除自訂修改造成的影響

作者強調,此類客製化作業應「以受控且有紀律的方式進行」,同時也肯定這項技術在維護應用程式整體使用者體驗一致性上的價值。

重點摘要

  • 利用 Genero 的搜尋優先順序,可以在不修改原始安裝的情況下覆寫內建模組。
  • 將自訂版本放在搜尋順序更靠前的目錄,即可優先被載入。
  • 此技術適用於需要統一調整 Genero 內建 UI 元件外觀或行為的場景。
  • 務必建立版本升級時的複查流程,避免自訂修改在升級後失效或產生衝突。
原文:https://4js.com/ask-reuben/ig-205/  ·  有任何 Genero 技術問題或翻譯疑問,歡迎來信 support@t100.app