kurz zusammengefasst. Du willst eine Klassenmethode haben welche man überschreiben kann? Und das geht nicht?
Wen dem so ist dann gehts (indirekt) so:
Delphi-Quellcode:
protected
function MakeAnything(): Type; virtual; abstract;
public
class function MakeAnythingClass(): Type;
end;
[...]
class funciton TYourClass.MakeAnythingClass(): Type;
var
lInstance: TYourClass;
begin
lInstance := TYourClass.Create();
try
result := lInstance.MakeAnyhting();
finally
lInstance.Free
end;
end;