Was genau macht eigentlich:
TMeineKlasseClass = class of TMeineKlasse;
Generell dieses "class of"? TMeineKlasse ist doch schon die Klasse, die ich brauche. Was ist dann TMeineKlasseClass?
Delphi-Quellcode:
var
Objekt: TMeineKlasse;
Klasse: TMeineKlasseClass;
Eine TMeineKlasse-Variable kann eine instantiierte Objektinstanz dieser Klasse oder deren Nachfahren aufnehmen,
während TMeineKlasseClass die Klasse selber aufnehmen kann, oder einen ihrer Nachfahren.
Delphi-Quellcode:
if X then
Klasse := TMeineKlasse
else
Klasse := TMeineNachfahrKlasse;
Objekt := Klasse.Create;
Klasse.Klassenprozedur(123); // ausführen einer Class Procedure/Function dieses Types aus (natürlich praktisch, wenn das ding dann virtual wäre)