Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#5

AW: is Operator akzeptiert auch Oberklassen?

  Alt 28. Aug 2010, 14:33
Delphi-Quellcode:
if Zeile is TSchuelerZeile then
  foo
else if Zeile is TPersonZeile then
  Text := Zeile.Classname
else
  Text := 'Shit... ein Lehrer darf da gar net sein';
Und komischerweise tauchen im VST Werte wie TLehrerZeile auf.
Geh den Code doch mal Zeile für Zeile durch:
Delphi-Quellcode:
// Angenommen Zeile ist vom Typ TLehrerZeile
if Zeile is TSchuelerZeile then // false, Zeile ist keine Schülerzeile
  foo
else if Zeile is TPersonZeile then // true, Zeile ist PersonZeile
  Text := Zeile.Classname
else // tritt nicht ein
  Text := 'Shit... ein Lehrer darf da gar net sein';
Das müsstest du schon umformulieren
Denn Lehrerzeilen fallen ja auch unter die Personenzeilen.
Wie wärs mit:
Delphi-Quellcode:
if Zeile is TSchuelerZeile then
  foo
else if Zeile is TLehrerZeile
  Text := 'Shit... ein Lehrer darf da gar net sein'
else
  Text := Zeile.Classname;
Marvin
  Mit Zitat antworten Zitat