Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Zeiger auf Klasse


knittel - So 07.11.10 11:29
Titel: Zeiger auf Klasse
Hallo allerseits,
Ich programmiere ein Spiel und dabei soll es Fabriken geben. Die Fabriken sollen verschiedene Einheiten bauen können, diese will ich einem const array speichern. Das Array soll von TFactoryCanBuild sein.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type TUnitEigenschaften = record
  Bauzeit = cardinal;
  Kosten = cardinal;
  end;

type TFactoryCanBuild = record
  UnitClass = ??? // Pointer auf die Klasse die gebaut wird
  Eigenschaften = ^TUnitEigenschaften // Pointer auf ein Array mit den 
                                      // Eigenschaften aller Einheiten
  end;


Mein Problem ist ich weiß nicht wie ich einen Pointer auf eine Klasse mache, oder ob das überhaupt geht. Falls es einen anderen besseren Weg gibt, damit es funktioniert, würde ich mich freuen den zu hören.

Danke im vorraus.


jaenicke - So 07.11.10 11:44

Eine Klassenvariable bzw. hier ein Feld ist bereits ein Zeiger. ;-)

Oder meinst du jetzt wirklich die Klasse selbst? Also soll da sowas wie TMyClass drin stehen? Das geht auch, dafür gibt es TClass als Typ.


knittel - So 07.11.10 11:51

Ja, Ich meinte wirklich die Klasse selbst. Vielen Dank. Ich probiers gleich aus.