Es ist etwas kompizierter aber es geht.
Zunächst die Klasse definieren.
Delphi-Quellcode:
type
TCommand = class(TPersistent)
public
function execute(AContext: TContext) : boolean; virtual;
end;
TCommandClass = class of TCommand;
Dann über FindClass eine Klassenreferenz laden und mit newinstance eine Instanz der Klasse (zuvor natürlich die Klasse registrieren) und (!!) die Klasse muss von TPersistenz erben.
Delphi-Quellcode:
procedure TCatalogFactory.loadCatalogData(fname: String; ac : TContext);
var
o : TCommand;
tc : TCommandClass;
s : String;
begin
s := 'TCommand'; //..... Name der Klasse laden, später aus Datei
tc := TCommandClass(FindClass(s));
o := TCommand(tc.newinstance);
o.execute(ac);
end;
initialization
RegisterClass(TCommand);
end.