繁体   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