简体   繁体   中英

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

This issue is driving me crazy. I'm trying to compile and install The QR Designer from QuickReports 6 . I have an issue just with the one package. When I right the package in the IDE > Install the IDE gives me:

Can't load package C:\xe10_3\QRDesign\Win32\Debug\dclqrd_DXE10_3.bpl. The specified module could not be found.

But the exact file is there.

I've also tried installing it via the menu under Components > Install Packages and then choosing the BPL from there, with the same issue.

I've tried to use Process Monitor as on this post here to find the issue:

Delphi Can't load package the specified module cannot be found

I couldn't fix the issue, but what I did pick up from Process Monitor was that some process was looking for the package here:

Computer\HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Package Cache\dclqrd_DXE10_3.bpl

That key didn't exists. I tried manually creating the key, but that didn't do a thing.

Any ideas?

UPDATE

Here is the list of packages:

图片

As you can see, dclqrd_DXE10_3 is dependant on two others. Which I already built and installed. I removed its references and re-added them again now, to make sure the references are sound. I guess its like Remy said, the Specified module not found is probably not referring to dclqrd_DXE10_3 although I don't know what other module it could be referring to.

To install a package successfully in IDE, follow the steps:

  • Open the dpk/dproj/groupproj file in IDE
  • Build the package(s) for Windows 32-bit platform.
    IDE itself is a 32-bit applicaton, so it should match.
  • Normally, it will build all dependent/required packages
  • Check if all chain of BPL & DCP files are generated in package Output directory .
    It defaults to $(BDSCOMMONDIR)\Bpl & Dcp folders, but can be changed individually for each Package in Settings.
    PBL packages are like DLL files. In order to load them, it requires all dependent BPLs.
  • If you have custom package output paths:
    • Check if your DCP output path is included in Tools\Options\Language\Delphi\Library Library Path for Windows 32-bit platform
    • Check if no duplicates of outdated compiled packages in default $(BDSCOMMONDIR)\Bpl & Dcp directories
  • Add the paths to library source pas files in Tools\Options\Language\Delphi\Library Browsing path or Library path
  • In some specific cases, if the package requires some extra dll-s like DB Client libraries, check if these dlls are 32-bit and are loadable, like included in %path% environement variable.

Note, some libraries offers package installer tools, that automagically do all mentioned things for you.
Also, there are universal package installer tools for quick working environement setup in one click.

I don't know why this fixed my issue, but it did. The output directories for the bpl and dcp was set to be $(Platform)\$(Config) The project files for the different packages exists in the same folder so the above config was supposed to be the debug folder or the release folder. Why only this package was thrown off I still don't know, but since changing the above packages to have a fixed path suddenly I could now install dclqrd_DXE10_3.bpl .

Thank you all for helping.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM