Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Klassen per GetClass() dynamisch erzeugen


mindtrap - Mi 18.05.11 15:14
Titel: Klassen per GetClass() dynamisch erzeugen
Hallo,

ich verwende folgenden Code zum Erzeugen von Klassen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
class function CreateClassReference(const AClassName: stringconst AClassAncestor: TClass; var AClassInstance): Boolean;
var 
  ClassObj: TObject absolute AClassInstance;
  ClassRef: TPersistentClass;
begin
  ClassObj := nil;

  // Klassenreferenz laden
  ClassRef := GetClass(AClassName);

  if Assigned(ClassRef) then
  begin
    if ClassRef.InheritsFrom(AClassAncestor) then
    begin
      ClassObj := ClassRef.NewInstance;
      (ClassObj as ClassRef).Create;
    end;
  end;
end;


Funktioniert auch einwandfrei, nur musste ich leider feststellen, dass der Kontstruktor der Klasse nie aufgerufen wird.

Weiß jemand woran das liegen könnte? Verwende ich die falschen Aufrufe?

Danke :)

Crosspost: http://www.delphipraxis.net/160537-klassen-per-getclass-dynamisch-erzeugen.html#post1101537