Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
so wie ich ihn verstanden habe liegen alle Klassen in einer eigenen Unit, aber nicht der selben, damit geht das vorwärtsdeclarieren nicht, da FPC das nur im selben "skope" zuläst ..
corpsman hat geschrieben: Do 15. Jan 2026, 11:43
@Zvoni,
so wie ich ihn verstanden habe liegen alle Klassen in einer eigenen Unit, aber nicht der selben, damit geht das vorwärtsdeclarieren nicht, da FPC das nur im selben "skope" zuläst ..
Ach Mist.. übersehen.
Tja, entweder deine Variante oder die zwei betroffenen Klassen in eine gemeinsame Unit.
Da er von C# portiert muss er ja nicht diesselbe Strategie verfolgen (sofern die Klassen bereits in C# jeweils in einem eigenen Modul waren).
Und mehrere Klassen in einer Unit (insbesondere in genannter Konstellation) ist ja jetzt nichts unanständiges
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
PascalDragon hat geschrieben: Do 15. Jan 2026, 21:41
FrankS hat geschrieben: Do 15. Jan 2026, 09:30
Alle Klassen stehen in separaten Dateien.
Das ist eben für FPC kein sinnvoller Ansatz. Klassen mit einer engen Bindung sollten in die gleiche Unit.
Ich hab das auch schon manchmal als unschön empfunden.
Ich habe eine Basisklasse, von der sehr viele spezialisierte Klassen abgeleitet werden und es wäre schon deutlich übersichtlicher, wenn man die jeweils in eigenen Units unterbringen könnte. Bislang habe ich dann wenigstens die Implementierungen in *.inc Dateien untergebracht.
fliegermichl hat geschrieben: Fr 16. Jan 2026, 09:12
PascalDragon hat geschrieben: Do 15. Jan 2026, 21:41
FrankS hat geschrieben: Do 15. Jan 2026, 09:30
Alle Klassen stehen in separaten Dateien.
Das ist eben für FPC kein sinnvoller Ansatz. Klassen mit einer engen Bindung sollten in die gleiche Unit.
Ich hab das auch schon manchmal als unschön empfunden.
Ich habe eine Basisklasse, von der sehr viele spezialisierte Klassen abgeleitet werden und es wäre schon deutlich übersichtlicher, wenn man die jeweils in eigenen Units unterbringen könnte. Bislang habe ich dann wenigstens die Implementierungen in *.inc Dateien untergebracht.
Das ist aber nicht das Szenario hier.
Das Szenario ist Zirkel-Bezug (Klasse A braucht Klasse B, und Klasse B braucht Klasse A)
Wenn die Beziehung eine Einbahnstrasse ist, dann ist es ja kein Problem, jede Klasse in ihre eigene Unit zu packen
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
PascalDragon hat geschrieben: Do 15. Jan 2026, 21:41
FrankS hat geschrieben: Do 15. Jan 2026, 09:30
Alle Klassen stehen in separaten Dateien.
Das ist eben für FPC kein sinnvoller Ansatz. Klassen mit einer engen Bindung sollten in die gleiche Unit.
Die separaten Dateien sind mit .inc wie @fliegermichl vorgeschlagen ja auch kein Problem.
Das Problem des OP ist ja eigentlich, dass .NET und Pascal unterschiedliche Konzepte haben. Units in dem Sinne gibt es dort nicht, ich würde die an ehesten mit Namespaces vergleichen.
Ergibt für mich dann das Mapping:
gleicher Namespace => gleiche Unit
eigene .cs => eigene .inc
0118999881999119725-3
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Hallo,
danke für die Antworten.
Ich werde mal die Klassen in eine Unit packen und der Übersichtlichkeit wegen die Implementierungen in separate .inc Dateien auslagern.
Der Namespace enthält noch diverse weitere Klassen.