Delphi 2010 – package problem, File not found error

delphidelphi-2010file-not-foundpackage

I have a problem with a application with plugins. Originally, everything was compiled into a single exe, but now, I want to take out some of the code into a bpl on its own. The code that is shared by both the exe and the new bpl is put into a third bpl.

application.exe is compiled with package api.bpl
api.bpl contains only one file, api.pas
plugin.bpl requires api.bpl.

I have the following structure on disk:

.\ – final output for exe and bpls
.\src – sourcefiles for application.exe and api.bpl, including shared api.pas
.\dcu – dcu output for all projects
.\plugin – plugin source

I can compile application.exe without a problem.
I can compile api.bpl without a problem.
But when I try to compile plugin.bpl, it tries to build api.bpl first, an then it complains that it can't find api.pas.

Why is that?

Best Answer

This is a quirk in Delphi's build system. It's trying to build the dependent package under the same build rules as plugin.bpl, not under its own rules. Look in Project Options for plugin.bpl and make sure it has the same paths as api.bpl, and then it should work.