Zitat von
MasterEvil:
Mhhh, da hab ich wohl keine andere Wahl, als das auch so zu tun
Find ich aber eigentlich daneben! Bei uns liegen diese Sachen alle in speziellen Ordnern.
Wie haben alle Packages in eigenen Ordnern und es funktioniert super.
Unsere Struktur ist:
...\Packagesammlung\lib
...\Packagesammlung\sys
In \lib sind alle Dateien, die in den Biblithekssuchpfad gehören.
Das sind *.dcu, *.dcp, *.dfm, *.res, *.dcr, ...
In \sys sind alle Dateien, die in den Systempfad gehören (PATH=...\sys;...)
Das sind *.bpl (und evtl benötigte *.dll, ...)
Beim Arbeiten mit dieser Struktur haben wir bisher noch keine Probleme gehabt.
Code:
B:\Delphi10\comp\
+---Advantage
| +---lib
| \---sys
+---CrystalReportsVCL
| +---lib
| \---sys
...
+---DOA
| +---lib
| \---sys
+---DevExpress
| +---lib
| \---sys
+---Envision
| +---lib
| \---sys
...
+---
JEDI
| \---JCL
| +---lib
| \---sys
...
Obiges Beisp. benötigt also folgenden Pfad:
Code:
Path=%path%;B:\Delphi10\comp\Advantage\sys;B:\Delphi10\comp\CrystalReportsVCL\sys;B:\Delphi10\comp\DOA\sys;B:\Delphi10\comp\DevExpress\sys;B:\Delphi10\comp\Envision\sys;B:\Delphi10\comp\
JEDI\JCL\sys;
und folgenden Bibliothekspfad:
Code:
"HKEY_CURRENT_USER\Software\Borland\
BDS\5.0\Library\Search Path"="$(
BDS)\lib;$(BDSUSERDIR)\Imports;$(
BDS)\Imports;$(
BDS)\Lib\Indy10;$(BDSCOMMONDIR)\Dcp;B:\Delphi10\comp\Advantage\lib;B:\Delphi10\comp\CrystalReportsVCL\lib;B:\Delphi10\comp\DOA\lib;B:\Delphi10\comp\DevExpress\lib;B:\Delphi10\comp\Envision\lib;B:\Delphi10\comp\
JEDI\JCL\lib"
Alle Komponenten und 3th party tools sowie Experten sind bei uns NICHT lokal installiert, sondern liegen in der Versionsverwaltung. Auf den Rechnern ist nur das blanke Delphi installiert. Es gibt zu jedem Projekt eine Definitionsdatei in der steht welche Komponenten (in welcher Version) das Projekt benötigt. Beim Doppelklick auf diese Konfigurations-Datei wird ein Programm gestartet, das die benötigten Komponenten in der "richtigen" Version in der Versionsverwaltung auswählt, Den Systempfad anpasst, in Delphi die benötigten
Package installiert und die Pfade setzt. (Registry) Danach wird automatisch Delphi gestartet und das Programm lässt sich kompilieren.
Damit haben wir erreicht, das jedes Programm (egal welche Komponenten verwendet werden) auf jedem PC kompilierbar sind.
Projekt1 benötigt z.B. DOA3 und DevExpress Quantum Grid 3
Doppelklick auf die Konfig und Delphi ist in Sekunden gestartet -> es kann kompiliert werden.
Projekt2 benötigt z.B. DOA4, DevExpress Quantum Grid Version 6.25, JCL und ADS
Doppelklick auf die Konfig und Delphi ist in Sekunden gestartet -> es kann kompiliert werden.
Unser Build-Server der die offiziellen Lieferungen kompiliert kann somit auch auf alles zugreifen.