Kein On-Demand-Build ({$IMPLICITBUILD OFF}) ... das bringt mehr Ärger als Nutzen
Also, um sicherzugehen: Du schlägst vor, überall "Wenn erforderlich" (also
{$IMPLICITBUILD ON}
) einzustellen? Das habe ich probiert, kriege dann aber scheinbar ein Problem, wenn nicht alles im gleichen Verzeichnis liegt: Ich habe hier ein Basispackage (sagen wir basis.dpk), das
Unit MyUtils.pas contained, beide im Verzeichnis MyPackages. Im Unterverzeichnis MyPackages\Special habe ich special.dpk, das basis.dpk required. Wenn ich nun special.dpk erzeuge, kriege ich Fehlermeldung, dass beim Compilieren von basis.dpk MyUtils.pas nicht gefunden wird. Vermutlich interpretiert der Compiler relative Pfadangaben in einer contains-Klausel nicht bzgl. des Verzeichnisses, in dem die enthaltende dpk liegt, sondern bzgl. gerade compilierter dpk (oder gar Arbeitsverzeichnis?).
Eine On-Demand-Build-Politik (entweder alle ja oder alle nein)
Das schlägt mir Delphi auch immer vor, wenn ich mal ein
Package mit einer "inkompatiblen" Einstellung in die Finger kriege.