Per se ist es egal wo, aber
* DesignTime-Packages und davon geladene
RuntimePackages und DLLs müssen in %PATH% stehen.
* Ja, eigentlich werden sie z.B. in KnownPackages explizit mit Pfad angesprochen, ABER dass stimmt nur, wenn sie von der
IDE geladen werden.
* * Wird ein Required-
Package von einem anderen
Package geladen (egal ob dieses
Package in KnownPackages stehen), dann werden sie durch Windows, über die ImportsListe, ausschließlich in den
DLL-Suchpfaden gesucht.
Und auf die Ladereihenfolge in der
IDE hast du keinen Einfluss. (natürlich wäre es technich möglich, dass Delphi es selbstständig richtig machen könnte, aber dafür sind die zu doof)
* reine RuntimePackages, welche nie in der
IDE geladen werden, müssen nicht im PATH stehen
* Es gibt zwar theoretisch
HKCU\SOFTWARE\Embarcadero\
BDS\22.0\Environment Variables : PATH , aber das wird beim Start nicht richtig geladen, bzw. überschreib die EnvironmentVariable des Prozesses nicht richtig
* * echt besch***en, denn nur damit die
IDE etwas findet, wird man gezwungen global in PATH etwas zu haben, was dann gern abraucht, wenn es mehr als nur eine
IDE gibt.
Ansonsten müssen die Dinge in den richtigen Suchpfaden stehen
* LibrarySearchPath alle
BPL/
DLL, welche geladen werden müssen
* im SearchPath für den Compiler die
PAS oder vorkompilierte
DCU und zu verlinktende DCP
* im SearchPath des Editors alle
PAS, wo es nur
BPL oder vorkompilierte
DCU gibt, damit er beim Debuggen und z.B. für's CodestellenSuchen jene findet
Wir haben ein SUBST-Laufwerk, dass bei Allen einheitlich ist.
* auf dem Server alle Laufwerk S: was intern auf ein privates Verzeichnis verlinkt, damit jeder die möglichkeit hat mit unterschiedlichen Versionen/Branches zu arbeiten
* das der ProgrammCode und die Fremdkomponenten haben eigene Git-Repos, welche aktuell auf diesem S: in einer einheitlichen Struktur vorliegt
Die Fremdkomponenten werden durch FinalBuilder compiliert (DevExpress ist aktuell nur als
DCU da drin und wird ins benutzerabhängige zentrale
Package-Verzeichnis kopiert)
und dann registriert der FinalBuilder diese Packages im Delphi (KnownPackages).
Aber grundsätzlich versuche ich immernoch alles auf relative Pfade umzustellen, da per se die Verzeichnisse egal sind, da sie jeweils durch den FinalBuilder registriert/verlinkt werden.
Weil auf EinzelBentzer-Rechnern ist es umständlich erst ein SUBST einzurichten,
vor allem da vor Jahren Microsoft dort den Papierkorb kaputt gemacht hat
und es Probleme gibt, wenn man Adminrechte benötigt, weil der Admin-Login kennt dann dieses SUBST nicht.