Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Klassen verw., die erst später in der Unit definiert werden
Astraios - Do 15.09.05 10:03
Titel: Klassen verw., die erst später in der Unit definiert werden
Hallo,
ich hab da mal eine grundlegende Frage, zu der ich mit der Suche leider keine Antwort gefunden habe:
Ich baue mir eine Klassenstruktur auf.
Dabei Enthält eine Klasse ein Objekt einer anderen Klasse. Diese soll dann aber ne Referenz auf die erste Klasse enthalten (als Parent)...
Das sieht dann ungefähr so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| TFenster = class (TObject) private ... public constructor Create(AParent: THaus); property Parent: THaus; end;
THaus = class (TObject) private ... public constructor Create(AParent: TStrasse); ... property Fenster: TFenster; property Parent: TStrasse; end; |
Soll heißen: In der Klasse TFenster bräucht ich schon den Typ "THaus" für die "Parent"-property. Wenn ich die Klassen in umgekehrter Reihenfolge schreib, bringt das auch nichts, weil ich ja "TFenster" auch in THaus brauch...
smiegel - Do 15.09.05 10:12
Hallo,
wie folgt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| type THaus=class; TFenster = class (TObject) ... end;
THaus = class (TObject) ... end; |
Näheres dazu in der Delphi-Hilfe.
Astraios - Do 15.09.05 12:00
Hm... da hätt ich ja auch selbst drauf kommen können (bzw. sollen) :oops:
Danke!
digi_c - Fr 24.03.06 13:43
Hallo, ich habe ein ganz ähnliches Problem aber komm nicht drauf, was ich falsch gemacht haben könnte :cry:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| type TFile = class; TFolderList = class; TFolder = class;
TSoftwareRequirement = class(TFolder) private ... end; TFolder = class(TFolderList) private fEnabled:boolean; ... end; end; |
Herr Gott, mittags zu coden sollte verboten werden :roll: Sauber dklariert, sauber vorwärtsdeklariert aber ich bekomme trotzdem
| Zitat: |
| [Fehler] CompareGlobal.pas(13): Typ 'TFolder' ist nicht vollständig definiert |
Grendel - Fr 24.03.06 14:08
Du hast die Klasse TFolderList nirgendwo vollständig deklariert.
Bis neulich ...
digi_c - Do 30.03.06 12:31
Ups vergessen mit einzufügen, stand aber darunter *schwör* :D
Das Problem war trotzdem da, ich konnte es durch Umstellen der normalen Deklarationen in zwischen lösen. Trotzdem Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!