簡體   English   中英

盡管存在 BPL,但我收到無法加載包錯誤

[英]I get a Can't load package error although the BPL is there

這個問題快把我逼瘋了。 我正在嘗試從QuickReports 6編譯和安裝QR Designer 我只有一個包裹有問題。 當我在 IDE 中正確安裝包時,IDE 給了我:

無法加載包 C:\xe10_3\QRDesign\Win32\Debug\dclqrd_DXE10_3.bpl。 指定的模塊無法找到。

但確切的文件在那里。

我也嘗試通過Components > Install Packages下的菜單安裝它,然后從那里選擇 BPL,但問題相同。

我已嘗試在此帖子中使用Process Monitor來查找問題:

Delphi Can't load package 找不到指定的模塊

我無法解決這個問題,但我從進程監視器中得到的是一些進程正在這里尋找包:

計算機\HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Package Cache\dclqrd_DXE10_3.bpl

那把鑰匙不存在。 我嘗試手動創建密鑰,但這沒有做任何事情。

有任何想法嗎?

更新

以下是軟件包列表:

圖片

如您所見, dclqrd_DXE10_3依賴於另外兩個。 我已經構建並安裝了它。 我現在刪除了它的引用並重新添加了它們,以確保引用是正確的。 我想就像 Remy 說的那樣, the Specified module not found可能不是指dclqrd_DXE10_3雖然我不知道它可能指的是什么其他模塊。

要在 IDE 中成功安裝軟件包,請執行以下步驟:

  • 在 IDE 中打開 dpk/dproj/groupproj 文件
  • Windows 32-bit平台構建包。
    IDE 本身是一個 32 位應用程序,所以它應該匹配。
  • 通常,它將構建所有依賴/必需的包
  • 檢查是否在包Output directory中生成了所有 BPL 和 DCP 文件鏈。
    它默認為$(BDSCOMMONDIR)\Bpl & Dcp文件夾,但可以在設置中為每個包單獨更改。
    PBL 包就像 DLL 文件。 為了加載它們,它需要所有依賴的 BPL。
  • 如果您有自定義包輸出路徑:
    • 檢查您的 DCP 輸出路徑是否包含在Windows 32-bit平台的Tools\Options\Language\Delphi\Library Library Path
    • 檢查默認$(BDSCOMMONDIR)\Bpl & Dcp目錄中是否沒有重復的過時編譯包
  • Tools\Options\Language\Delphi\Library Browsing pathLibrary path中添加庫源pas文件的路徑
  • 在某些特定情況下,如果包需要一些額外的 dll,例如 DB 客戶端庫,請檢查這些 dll 是否為 32 位並且可加載,例如包含在%path%環境變量中。

請注意,一些庫提供包安裝工具,它們會自動為您完成所有提到的事情。
此外,還有通用軟件包安裝工具,可一鍵快速設置工作環境。

我不知道為什么這解決了我的問題,但確實如此。 bpl 和 dcp 的輸出目錄設置為$(Platform)\$(Config)不同包的項目文件存在於同一文件夾中,因此上述配置應該是調試文件夾或發布文件夾。 為什么只有這個包被丟棄我仍然不知道,但由於突然將上述包更改為具有固定路徑,我現在可以安裝dclqrd_DXE10_3.bpl

謝謝大家的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM