Hatte gerade das getippt und das geht als Ergänzung zu Uwe durch...
Delphi-Quellcode:
program Project22;
{$APPTYPE CONSOLE}
type
TClassA = class(TObject);
TClassAClass = class of TClassA;
TClassB = class(TClassA);
TClassC = class(TClassA);
procedure CreateClassA(AClassType: TClassAClass);
var
Instance: TClassA;
begin
Instance := AClassType.Create;
try
WriteLn('ClassName: ', Instance.ClassName);
finally
Instance.Free;
end;
end;
begin
CreateClassA(TClassB);
CreateClassA(TClassC);
ReadLn;
end.
Was den folgenden Output erzeugt:
Code:
ClassName: TClassB
ClassName: TClassC