Search code examples
delphipackagedelphi-xebpl

How to fix bpl loading issue in Delphi XE while opening a project?


Very often when I try to open any project in Delphi XE the following issue raises for a few popular bpl-packages:

Can't load package "Name1.bpl". Component "Name2" can't be registered by package "name1.bpl" because it has already been registered by package "name1.bpl". Do you want to attempt to load this package next time a project is loaded?

enter image description here

Thanks a lot for help!

P.S. Kill process and double restart of IDE always helps.


Solution

  • New Delphi have feature of delayed package loading. This should optimize startup speed, when packages aren't loaded, when they are not needed.

    This works fine for component packages, but spoils a fun for packages which (for example) modifies IDE menu.

    You can tell IDE to always load your package by calling ForceDemandLoadState(dlDisable) from Register procedure.