I just upgraded to Delphi XE7. Now a package that complied perfectly in XE doesn't compile anymore.
I have package B that requires package A that has ImplicitBuild set to OFF. First thing first, I compiled and installed package A. Then I tried to compile package B but the compiler says:
[dcc32 Fatal Error] A.dpk(39): E2225 Never-build package 'A' must be recompiled.
[dcc32 Fatal Error] B.dpk(34): E2202 Required package 'A' not found.
Obviously, package A was found since the compiler knows its content (it know that the ImplicitBuild is set to OFF). Also, obviously, I added the path for package A in 'Library path'.
If I remove the ImplicitBuild directive from package A, the compiler simply says:
'Required package 'A' not found.'
Process Monitor shows an interesting entry:
C:\Users\trei\Documents\Embarcadero\Studio\15.0\Imports\A.dcp <-- PATH NOT FOUND
C:\Users\Public\Documents\Embarcadero\Studio\15.0\Bpl\A.bpl <-- SHARING VIOLATION
There is no '15.0' folder in 'C:\Users\trei\Documents\Embarcadero\Studio\'.
- Why isn't the A.dpk file found?
- Why Delphi wants to recompile the A package anyway?
- Why is Delphi searching the DCP file in the 'Imports' folder? The DCP is stored in 'c:\Users\Public\Documents\Embarcadero\Studio\15.0\Dcp\A.dcp'
Interesting fact:
There was a bug related to this message (bug #109584) but it was marked as fixed in XE4.
http://qc.embarcadero.com/wc/qcmain.aspx?d=109584
Regression?