Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Klassen forwarden
Jakob Schöttl - So 28.10.07 12:16
Titel: Klassen forwarden
Morgen zusammen :)
nächste Frage:
Ich habe zwei Klassen, die sich gegenseitig verwenden.
Gibt es eine Möglichkeit eine der Klasse ganz am anfang als forward zu deklarieren?
Wenn das nicht geht, mache ich eine "Custom-Klasse" (Vorgängerklasse), die eben noch nicht die andere Klasse verwendet...
Danke schon mal!
delfiphan - So 28.10.07 12:28
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| type
TKlasse1 = class;
TKlasse2 = class
Klasse1: TKlasse1;
end;
TKlasse1 = class
Klasse2: TKlasse2;
end; |
Geht nur innerhalb desselben type-Blocks. Wenn dazwischen z.B. noch ein Const ist, geht's nicht.
Jakob Schöttl - So 28.10.07 13:31
oh, das geht leider nicht
delfiphan:
Quelltext
1:
| [Pascal Fehler] Polynome.pas(69): E2004 Bezeichner redefiniert: 'TNichtRationalPolynom' |
und der quelltext sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| type TNichtRationalPolynom = class(TObject);
TPolynom = class(TObject) function PolynomDivision(PolynomDivisor: TPolynom; var Rest: TNichtRationalPolynom): TPolynom; end;
TNichtRationalPolynom = class(TObject) private FZaehler: TPolynom; FNenner: TPolynom; end; |
delfiphan - So 28.10.07 15:18
Ohne (TObject). Der Compiler muss dort lediglich wissen, dass es eine Klasse ist.
Delphi-Quelltext
1:
| TNichtRationalPolynom = class; |
Jakob Schöttl - So 28.10.07 15:46
siehe da, es geht *freu*
Vielen Dank delfiphan, ich dachte du hast nur class geschrieben weil class und class(TObject) ja normalerweise das gleiche sind...
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!