Wenn ich jetzt ein Build meines Projekts mache, compiliert Delphi die LibraryA und stellt die
DCU in das Outputverzeichnis und nicht in den Librarypfad?
Nein, die Projekte finden die LibraryA.pas ja nicht, weil sie nicht im Bibliothekspfad liegt. Daher verwenden sie die vorkompilierte Version. Nur deine Packages, die die Datei eingebunden haben, legen diese in den Bibliothekspfad, der dort natürlich das
DCU-Ausgabeverzeichnis sein muss.
Wir können so auch zwischen zwei komplett unterschiedlichen Umgebunden wechseln, weil ich Skripte und Programme geschrieben haben, die die Umgebung komplett umstellen mit allen Pfaden, installierten Packages usw. und auch alle Bibliotheken kompilieren.
Jetzt habe ich noch Code, der für mehrere Projekte gleich ist - eigener Bibliothkescode. Der soll bei Änderungen mit dem Projekt mitkompiliert werden (Halt! Schlechter Prozess? Über die versionskontrolle bekomme ich eine Änderung ausgecheckt + müsste sofort einen Buildprozess haben.)
Für den Zweck gibt es bei uns teilweise gleichnamige Projekte mit _debug im Namen, die die Bibliotheksunits auch enthalten. Die werden dann verwendet, wenn die Bibliotheksunits im Rahmen des Projekts selbst angepasst werden sollen. Die haben natürlich auch ein eigenes
DCU-Ausgabeverzeichnis.
Ansonsten wird solcher Code in Packages vorkompiliert und nicht in den Projekten selbst.