Zitat von
cs.rumpelstilzchen:
Na, keiner ne Lösung?
Bin ich denn der einzige, der mit Inc-Dateien arbeitet?
Du das Auslagern von Datenstrukturen hast du schon einen Fehler gemacht!
Deshalb bist du (hoffentlich) auch einer von den Wenigen, der Include-Dateien verwendet.
Includedateien haben unter Delphi nur zwei Daseinsberechtigungen:
1.) definieren von globalen Konstanten (vorallen für $DEFINEs)
2.) Einbinden von Datenkonstanten (z.B. für Barcodes, Z80 Instruktion Set, Farbtabellen, ...) die
aus einem Generatorprogramm erzeugt wurden und zu umfangreich sind, um sie von Hand zu editieren.
Alles Andere (Typ-Deklarationen, Variablen, Funktionen, Proceduren, Klassen) gehört
in eine
Unit.
Das
Unit-Konzept von Delphi ist den normalen Includedateien wie man sie von C/C++ kennt
weit überlegen.
Gründe:
1.) jede
Unit wird nur einmal kompiliert (Includefiles werden x-fach kompiliert)
2.) Aus jeder
Unit entsteht eine
DCU-Datei. Wurde die
Unit geändert wird die
DCU neu erzeugt.
Der Delphi-Kompiler kann aus der
DCU direkt die Symboltabelle laden, die er benötigt.
Das macht Delphi beim Kompilieren so schnell.
3.) Aus den Units lassen sich direkt die gegenseitigen Abhängigkeiten maschinell ermitteln.
Früher musste dies mit aufwändigen Makefiles abgebildet werden.
===> Include-Datei umstellen auf "normale" Units