Einzelnen Beitrag anzeigen

webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#9

AW: TObjectList unterschiedliche Objekte erkennen?

  Alt 24. Okt 2011, 08: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 08:21 Uhr) Grund: Verdeutlichung
  Mit Zitat antworten Zitat