An Workarounds mangelt es nicht, dafür müsste man aber erst etwas mehr von den Hintergründen erfahren; man möchte schließlich das freakigstmögliche Design-Pattern einsetzen
. Z.B. könnte es sinnvoll sein, das ganze als Factory-Interface zu gestalten:
Delphi-Quellcode:
type
IMyFactory = interface
function CreateSomething : TBasisklasse;
end;
[...]
function TMyEdit.CreateSomething;
begin
Result := TEditklasse.Create;
end;
Oder auch einfach als
Delphi-Quellcode:
type
IMyExtender = interface
function GetSomething : TBasisklasse;
property Something : TBasisklasse read GetSomething;
end;
(Alle Angaben ohne Gewähr, hab Interfaces in Delphi nur ein-, zweimal benutzt)