Einzelnen Beitrag anzeigen

Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#1

Über Hauptklasse auf Unterklasse zugreifen? Greift hier as?

  Alt 3. Apr 2004, 13:06
Hallo,

ich stehe glaube in einer Sackgasse und ich komme den ganzen Vormittag nicht mehr weiter.
Vorgeschichte: Ich habe ein Array gefüllt mit Instanzen einer Klasse.
Das Array ist ein
array of TCreatur in dem Instanzen von TRabbit, TFox usw., welche alle von TCreature abgeleitet sind, gespeichert werden.

Jetzt möchte ich gerne über das Array auf die Methoden von TRabbit, TFox usw. zugreifen, nach dem Schema:
MeinArray[X][Y].EineMethodeVonTFox(Wert, NochEinWert: Integer); Das funktioniert natürlich nicht, da TCreature ja nicht die Methoden der Ableger kennt. Nun dachte ich mir, ich nutze "as". Das heißt konkret, ich erstelle einen Pointer auf eine Position des Arrays und greife darauf zu:
SelectedRabbit^ := Habitat.WorldArray[i][j] as TRabbit; Da gibt es dann aber eine Zugriffsverletzung, obwohl sich an dieser Position wirklich eine Instanz von TRabbit befinden (!). Wie kann ich jetzt auf die Methoden von Habitat.WorldArray[i][j] zugreifen? Hat jemand eine Idee?
  Mit Zitat antworten Zitat