Hallo MasterBB,
hier mal das, was ich auf die Schnelle rausgefunden habe. Hier mal ein Beispiel das nicht funktioniert (D7):
Delphi-Quellcode:
TBar = class;
TFoo = class;
TFoo = class(TBar) //<-- Fehler hier
end;
TBar = class(TObject)
FFoo: TFoo;
end;
Der Fehler "Class TBar is not yet completely defined" tritt in der markierten Zeile auf. Ich kann es mir nur damit erklaeren, dass ich nicht von einer nicht vollstaendig deklarierten Klasse ableiten kann. Dieses Beispiel funtioniert naemlich:
Delphi-Quellcode:
TBar = class;
TFoo = class;
TBar = class(TObject)
FFoo: TFoo;
end;
TFoo = class(TBar)
end;
Wiederum sind die Klassen alphabetisch forward-deklariert, aber die engueltige Deklarationsreihenfolge ist umgekehrt. Versuch das mal zu beruecksichtigen. Du musst auch bei der endgueltigen Deklaration eine gewisse Reihenfolge einhalten, aber ich wuerde versuchen es so zu machen, dass ich keine forward declares brauche
Greetz
alcaeus