Wenn man weiß, wie es geht, ist alles so einfach... Hier ist die Lösung:
Ich brauche eine Projektgruppe mit
- Der Application, in der auch mein Basisframe definiert wird
- Ein Package für jede spezialisierte Aktion
Um die visuelle Ableitung im
Package umsetzen zu können, müssen alle Units zum
Package-Projekt hinzugefügt werden, auf die das visuell abgeleitete Form visuell aufbaut. Das heißt, wenn ich in meiner Application direkt von TForm ein TCustomBase ableite und davon wiederum ein TBase visuell ableite, dann muss ich die Units mit TCustomBase und TBase zum
Package hinzufügen, um im
Package von TBase visuell ableiten zu können. Das bedeutet, dass der Code für die Basisklassen in jedem compilierten
Package kopiert enthalten ist und ich somit alle Packages neu compilieren muss, wenn ich an den Basisklassen etwas geändert habe. Das ist zwar unschön, aber für mich akzeptabel.
Wenn sich die Änderung an den Basisklassen nur auf den implementation-Abschnitt beschränkt, dann muss ich nur die Packages neu compilieren, in denen sich die Änderung auswirken soll, die Application brauche ich in diesen Fällen nicht neu compilieren, da ich von der Application aus nur das Interface anspreche/nur den interface-Abschnitt verwende, um die Instanzen der spezialisierten Klassen aus den Packages zu steuern.
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."