Ich schaue mal in meine Glaskugel und vermute, dass deine Projektarchitektur eher suboptimal ist.
Ich habe wohl die eine oder andere Antwort übersehen: Das sowas kommt war mir klar. Das ist aber zu eine einfachere Sichtweise.
Stellen wir uns eine Komponentenstruktur vor.
Es gibt Grund Klassen, wie TPLComponent, TPLVisuallComponent, TPLLabel.
Nun möchte ich eine Unit haben, die sich uplGUI nennt, wo die ganzen Basis Sachen drin sind. Dann möchte ich einzelne Klassen pro Unit hat.
Dieser Ansatz hat gewisse Nachteile. So sind die Komponenten aber schön Strukturiert.
Soweit ist das ganze auch kein Problem, aber wenn sich die Klassen in den Verschiedenen Units sich gegenseitig brauchen, kommt das Problem mit den Units.
Nimm es mir nicht übel, aber ich glaube sehr dass das dein Problem ist. Du fängst etwas sehr komplexes an und das ohne Planung.
Am Anfang habe ich das auch gemacht, inzwischen fange ich erst an, wenn ich ein Plan habe.
Ich versuche bei jedem Projekt ab einer gewissen Größe mich mit anderen Entwicklern darüber auszutauschen. Und nach so einem Gespräch schmeiße ich mein erstes Konzept weg und mache ein Neues. Weil immer, und zwar wirklich immer durch so eine Diskussion neue Probleme auftauchen, die ich nicht auf dem Schirm habe.
Diesen Austausch habe ich bisher noch nicht.
Und wenn ich eine neue Technologie verwenden will/muss, dann bastele ich mir ersteinmal ein Testprojekt um das Ding ansatzweise zu verstehen. Probier es mal mit diesem Weg.
Genau. Ich fange eine reihe von Test Projekten an um ein Konzept oder eine Idee auszuprobieren.
Weil nur Gemeinsamkeiten nicht ausreichen, zwei Klassen mit vielen Gemeinsamkeiten müssen nichts miteinander zu tun haben.
Das meine ich auch gar nicht. Ich meine, wenn man eine Klassenstruktur hat und innerhalb dieser Klassenstruktur haben die Klassen was gemeinsam.
KlasseA und KlassB können ähnliche Eigenschaften haben und doch unterschiedlich sein. Auch wenn ich kein Beispiel im Moment habe.
Aber dann: nicht sinnvoll wäre es, ein Erbsengemüse von einem Salat abzuleiten - Erbsengemüse wird gewaschen, gedünstet und heiß serviert. Ein Salat wird gewaschen, getrocknet und kalt serviert. Obwohl beide zum Essen sind, beide zusammen bestellt werden können, würde ich sie nicht voneinander ableiten.
Das ist klar. Das würde auch wohl keiner machen.
Jedoch könnten Erbsengemüse und Salat eine Gemeinsame Basis Klasse haben.
Ich bin jetzt sogar so weit, dass ich in meinem Projekt eine tForm "mitlaufen" lasse, in der ich Sachen testen kann und die ich zur Informationsausgabe nutzen kann.
Die meisten Projekte, die ich Anfange haben in der Regel keine Grafische Oberfläche, sondern ich nutzte die Textbasierte Ausgabe.