Ich komme mit diesen Einstellungen einfach nicht klar. Ich habe jetzt versucht, etwas Ordnung in mein
Unit-Chaos zu bringen, aber irgendwie klappt das nicht.
Ich habe zwei Arten von "Tools"-Units, die in ziemlich alle meine Propramme eingebunden werden: eine Gruppe Units, die Hilfsfuktionen und Klassen zur Verfügung stellen, zum Beispiel für das Bearbeiten von ini-Files, für das Erstellen eines Log-Files, für das einfache Erstellen von Diaogfenstern etc, und eine andere Gruppe von Units, die selbst geschriebene (abgeleitete), erweiterte Komponenten beinhalten.
Ich habe jetzt zwei
Package-Projektdateien erstellt, die eine für ein
Package "Tools", die andere für ein
Package "Components".
Alle Quelltexte liegen in \Dephi\Tools, als Ausgabeverzeichnis habe ich für diese beiden Projekte das Verzeichnis \delphi\Tools\
DCU eingestellt, als
Package-Ausgabeverzeichnis \Delphi\Packages. Die beiden Verzeichnisse \delphi\Tools\
DCU und \Delphi\Packages liegen im globalen Delphi Bibliothekspfad und die Files da drinnen sollten eigentlich immer gefunden werden.
Wenn ich die beiden Packages kompiliere, scheint alles in Ordnung zu sein, die
DCU und
BPL Dateien landen dort, wo ich sie erwarte, in den beiden Verzeichnissen \delphi\Tools\
DCU und \Delphi\Packages.
Aber wenn ich jetzt ein einfaches Testprogramm kompiliere, für das ich nur ein paar von den neuen Komponenten auf die Form gezogen habe, dann werden alle Units der beiden BPLs, die schon kompiliert vorliegen, noch einmal kompiliert und in c:\Delphi\Tools\
Win32\Debug\ zusammen mit der
DCU der Testform und der Exe des Testprogrammes zusätzlich abgelegt. Warum werden die bei Erstellen des Testprogramms neu kompiliert, wo sie schon im Suchpfad fix und fertig vorliegen (und auch seit der letzten Erzeugung der Packages nicht geändert worden sind) - sie sind nicht Bestandteil des Testprojekts, sondern nur in die uses Klausel der Hauptunit des Testprogramms eingebunden.