delphi 虽然有BPL,但我还是收到无法载入套件的错误

oogrdqng  于 2022-11-23  发布在  其他
关注(0)|答案(2)|浏览(324)

这个问题快把我逼疯了。我正在尝试从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 the specified module cannot be found
我无法解决这个问题,但我从Process Monitor中发现,某个进程正在此处查找该包:
计算机\HKEY_CURRENT_USER\软件\商场\BDS\21.0\数据包缓存\dclqrd_DXE10_3.bpl
那个密钥不存在。我试着手动创建密钥,但没有任何作用。
有什么想法吗?

更新

以下是软件包列表:

正如你所看到的,dclqrd_DXE10_3依赖于另外两个模块。我已经构建并安装了这两个模块。我删除了它的引用,现在又重新添加了它们,以确保引用是正确的。我猜就像雷米说的,the Specified module not found可能不是指dclqrd_DXE10_3,尽管我不知道它可能指的是其他模块。

flmtquvp

flmtquvp1#

要在IDE中成功安装package,请执行以下步骤:

  • 在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\LibraryLibrary Path
  • 检查默认$(BDSCOMMONDIR)\Bpl & Dcp目录中是否没有过期编译包的副本
  • Tools\Options\Language\Delphi\LibraryBrowsing pathLibrary path中添加库源pas文件的路径
  • 在某些特定情况下,如果软件包需要一些额外的dll(如DB客户端库),请检查这些dll是否为32位且可加载,如包含在%path%环境变量中。

注意,一些库提供了包安装工具,它们可以自动为你完成所有提到的事情。
此外,还有通用的软件包安装工具,只需单击一下即可快速设置工作环境。

goqiplq2

goqiplq22#

我不知道为什么这个解决了我的问题,但是它确实解决了。bpl和dcp的输出目录被设置为$(Platform)\$(Config)。不同包的项目文件存在于同一个文件夹中,所以上面的配置应该是debug文件夹或release文件夹。为什么只有这个包被抛出,我仍然不知道,但是由于改变了上面的包,突然有一个固定的路径,我现在可以安装dclqrd_DXE10_3.bpl
谢谢你们的帮助。

相关问题