In dem gezeigten Code ist es so, daß hier nicht beide Referenzen "gleichzeitig" verwendet werden.
(oftmals macht man sowas, wenn auf eine Funktion des Objekts zugreifen will, welche man "vergessen" hat ins Interface aufzunehmen)
Dafür wird im betreffenden Projekt gerne das gemacht.
Wobei ich dabei auch immer irgendwie Bauchschmerzen habe.
Delphi-Quellcode:
TMyClass = class;
IMyInterface
function GetObject : TMyClass;
end;
TMyClass = class(TInterfacedObject, IMyInterface)
function GetObject : TMyClass;
end
...
function TMyClass.GetObject : TMyClass;
begin
Result := self;
end;