我有一個小組專案:
- PkagDemmo.exe(主應用程式)
- AppAddin.bpl(加載/卸載 bpl 和創建表單實用程式)
- PkgData.bpl(資料訪問實用程式的 DataModule 單元)
- Pakage1.bpl(Form1 bpl 和顯示資料)
- Pakage2.bpl(Form2 bpl and show data) PakDemo.exe 專案選項:
- Packages/Runtime Packages/ Link with runtime 包 = true
- 包/運行時包/運行時包=真
在我開發的 PC 上,應用程式運行良好,但是將這 5 個檔案移動到我的筆記本,運行 PkageDemo.exe 會出現錯誤:找不到:FireDACCommonDriver270.Bpl,FireDACComnon270.Bpl,FireDACCommonODBC270.Bpl,vclFireDac270.Bpl .. .......那些是 PkgData.bpl DataMoudles 使用 FireDacXXXX 單位,DB 單位需要動態 bpls。我將這些 bpl 復制到我的筆記本,但它仍然顯示錯誤。為什么應用程式找不到那些FireDacxxx.bpl,如何解決這個問題?//德爾福10.4.2 Win10
uj5u.com熱心網友回復:
按應用程式查找檔案的標準規則:
- 它嘗試在當前作業檔案夾中查找(如果您使用鏈接,它是鏈接的欄位“作業目錄”,如果您通過在資源管理器中雙擊運行 - 當前檔案夾)
- 它試圖通過決議“Path”環境變數中的字串來查找檔案。它一個接一個地獲取檔案夾,以“;”分隔 象征。
如果應用程式沒有按照這些規則找到檔案 - 您將收到錯誤訊息。因此,要解決您的問題,您可以 - 將所有檔案放在同一檔案夾中或修改“路徑”變數以添加包含所有 bpl 的檔案夾或使用檔案的絕對路徑(如果您在運行時手動加載它)。
它適用于您的 DeveloperPC,因為 Delphi 在“路徑”變數中添加了帶有運行時 bpl 的檔案夾。
稍后添加:
關于“路徑”——它是一個系統環境變數,所以它取決于 Windows 版本如何打開它。如果您使用 Widnows 10 或 11,只需轉到設定并在“查找框”中鍵入“環境”- 視窗將顯示顯示編輯視窗。但在您找到所有必要的 bpl 之前,這將無濟于事。
主要問題是您不僅必須放置您的應用程式和直接使用的 bpls,還必須放置 FireDac bpls 正在使用的 bpls。
找到它們的最簡單方法——使用一些可以找到 dll/exe/pbl 依賴項的程式。我為 TotalCommander 使用“檔案資訊插件”,但您可以通過谷歌搜索其他一些程式來執行相同的操作。
其他方式更長,但不需要任何附加程式。您嘗試運行您的應用程式,看到類似“代碼執行無法繼續,因為未找到 KComponents.bpl。....”的錯誤訊息。然后在 Develop PC 上找到這個“KComponents.bpl”(首先看看類似“c:\Program Files (x86)\Embarcadero\Studio\21.0\Redist\win32”的東西),復制到與你的 EXE 檔案相同的檔案夾中的筆記本應用程式并嘗試再次運行它。您將看到缺少的下一個 BPL。等等,等等。
這是您撰寫的所有 BPL 的依賴關系樹:
FireDACCommonODBC270.bpl
rtl270.bpl
dbrtl270.bpl
rtl270.bpl - duplicate
FireDACCommon270.bpl
xmlrtl270.bpl
rtl270.bpl - duplicate
dbrtl270.bpl - duplicate
FireDACCommonDriver270.bpl
rtl270.bpl - duplicate
dbrtl270.bpl - duplicate
FireDACCommon270.bpl - duplicate
vclFireDAC270.bpl
rtl270.bpl
dbrtl270.bpl
vclwinx270.bpl
vcl270.bpl
rtl270.bpl - duplicate
vclimg.270.bpl
rtl270.bpl - duplicate
vcl270.bpl - duplicate
rtl270.bpl - duplicate
bindengine270.bpl
rtl270.bpl - duplicate
FireDACCommon270.bpl - duplicate
FireDAC270.bpl
rtl270.bpl - duplicate
dbrtl270.bpl - duplicate
FireDACCommonDriver270.bpl - duplicate
FireDACCommon270.bpl - duplicate
vclx270.bpl
rtl270.bpl - duplicate
vcl270.bpl - duplicate
vcldb270.bpl
rtl270.bpl - duplicate
vcl270.bpl - duplicate
vclwinx270.bpl - duplicate
dbrtl270.bpl - duplicate
vclwinx270.bpl - duplicate
vcl270.bpl - duplicate
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/536570.html
標籤:德尔福火烧bpl数据模块
上一篇:在Delphi中加密大字串
