Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Neue Komponenten - wo ist der richtige Ort im Verzeichnis? (https://www.delphipraxis.net/211954-neue-komponenten-wo-ist-der-richtige-ort-im-verzeichnis.html)

ggscholz 25. Nov 2022 16:11

Neue Komponenten - wo ist der richtige Ort im Verzeichnis?
 
Hallo in die Runde,

ich werde jetzt Delphi 11 neu aufsetzen. Bei meiner bisherigen Installation gibt es überall auf der Platte Ordner, die zu den installierten Komponenten gehören. Teilweise habe ich die selber dort hinkopiert, andere haben eine Installationsroutine mitgebracht, die ein Verzeichnis für diese Sammlung selber angelegt hat. Diese liegen dann teilweise direkt unterhalb von C:\, andere verewigen sich im Verzeichnis C:\Program Files (x86), usw..

Gibt es eine sinnvolle Idee, wohin ich die Komponenten in der Ordnerstruktur hin kopieren oder installieren soll?


Oder mache ich mir zu viele Gedanken über Ordnung auf der Platte?

Beste Grüße
Gerd

BerndS 25. Nov 2022 16:42

AW: Neue Komponenten - wo ist der richtige Ort im Verzeichnis?
 
Bei mir habe ich die Quellen alle auf einem extra Laufwerk abgelegt.
Alle in der Firma verwenden dazu einen einhaltlichen Laufwerksbuchstaben und eine vorgegebe Ordnerstruktur.
Dadurch ist die Konfiguration der zusätzlichen Suchpfade usw. bei allen identisch.
Dieser Laufwerk ist zusätzlich mit einer Versionsverwaltung verbunden.
Das Laufwerk ist zur Sicherheit mit Veracrypt verschlüsselt.
Tägliche Backups vom System und den Quellen laufen über Acronis.

himitsu 25. Nov 2022 17:24

AW: Neue Komponenten - wo ist der richtige Ort im Verzeichnis?
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz