Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#20

Re: Ändern der Klassenhierarchie

  Alt 18. Feb 2005, 16:51
Zitat von Robert_G:
Zitat von maximov:
Zitat von Robert_G:
...
Der IS Operator kann ja auch nicht wissen was du da zur Laufzeit machst.
wieso nicht ? Der Is-operator ist doch der laufzeit-klassenprüf-operator.
Sicher. Trotzdem kann es beim Kompilieren knallen wenn es für den Compiler absolut unmöglich erscheint, dass A von B abgeleitet ist.

Nachtrag:
Bevor die nächste Frage kommt. Einfach selbst testen
...
Da is der kompiler natürlich ein bisschen übereifrig - aber recht hatta ja. Wenn man es wirkt wissen will, dann muss man ihn halt täuschen:
Delphi-Quellcode:
...
var
  X : TComparedType;
begin
   if X is TBase then
      Writeln('ist TBase'); // geht

   if TObject(X) is T1stDescendant then
      Writeln('ist T1stDescendant'); // knallt
end.
Aber das führt zu nix, da man, wie schon gesagt wurde, gleich InheritsFrom benutzen kann. Gut das wir das geklärt haben
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat