Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Vorwärtsdeklaration von Klassen
freedy - Di 04.11.03 15:42
Titel: Vorwärtsdeklaration von Klassen
Das Thema wurde bereits im Forum behandelt. Trotzdem erhalte ich immer wieder Fehlermeldungen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| type TGassnerElement = class(TGassner);
TElement = class public: constructor Create(LVariant : TGassnerElement); OVERLOAD; end;
type TGassnerElement = class(TGassner) public: constructor Create(Kollektiv, Woehlerlinie : TElement); OVERRIDE; end; |
Weiss leider überhaupt nicht, wo da der Fehler sitzt. Kriege folgende Fehlermeldung:
| Zitat: |
| * Bezeichner redefiniert |
bzw. wenn ich in der Vorwärtsdeklaration den Typ entferne, eine Meldung dass die Klasse nicht vollständig definiert ist.
Moderiert von
Tino: Delphi- und Quote-Tags hinzugefügt; Topic verschoben.
Keldorn - Di 04.11.03 15:57
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| TGassnerElement = class; <<<<---- nur class;
TElement = class public <<<<---- public ohne : constructor Create(LVariant : TGassnerElement); OVERLOAD; <<<--- overlaod willst du hier bestimmt nicht, wenn dann Override, geht aber nicht bei TObject end;
TGassnerElement = class(TGassner) public |
probiers mal so,
zusätzliche infos findest du in der delphi-Hilfe (evtl über die Suche gehen und Vorwärtsdeklaration eingeben)
mfg Frank
freedy - Di 04.11.03 18:04
Danke. Ich werd's gleich mal ausprobieren.
Der OVERLOAD bleibt übrigens, weil der Konstruktor mit ca. 8 Parametern belegt ist. :) Konnte ja keiner wissen.
Sollte auch nur verdeutlichen, wo ich meine Klasse brauchen.
freedy - Di 04.11.03 19:47
Super, genial. Klappt. Danke.
Keine Ahnung, was ich jetzt wirklich falsch gemacht habe.
Beim nächsten Mal kopiere ich das einfach. :P
Keldorn - Di 04.11.03 19:54
Ein fieser Fehler war das 2. type. Vorwärtsdeklarationen müssen im gleichen type stehen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!