Registriert seit: 10. Feb 2006
255 Beiträge
Delphi XE2 Professional
|
AW: TObjectList unterschiedliche Objekte erkennen?
24. Okt 2011, 09:18
Dein Problem liegt hier:
Nun speichere ich Objekte in meiner TObjectlist:
Code:
...
Auto := TAuto.Create;
Auto.FHersteller := 'BMW';
Coupe:= TCoupe(Auto);
Coupe.FSitze := 4;
AutoListe.Add(Coupe);
...
Du erzeugst ein TAuto und castest dann in eine Unterklasse, speicherst aber immer "nur" ein TAuto. Sollte eigentlich so heißen:
Delphi-Quellcode:
Coupe := TCoupe.Create;
Coupe.FHersteller := 'BMW';
Coupe.FSitze := 4;
AutoListe.Add(Coupe);
Dies ist beispielhaft für jede Unterklasse von TAuto. Dann funktioniert es auch mit
if Objectlist[i] is TCoupe then...
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
Geändert von webcss (24. Okt 2011 um 09:21 Uhr)
Grund: Verdeutlichung
|