Hallo,
So würde es funktionieren, auch wenns nicht unbedingt schönes Design ist:
Delphi-Quellcode:
type
TEditTab = class;
ITab = Interface(IUnknown)
function GetObject: TEditTab;
end;
TEditTab = class(irgendein passender Vorfahre, ITab)
function GetObject: TEditTab;
end;
procedure TEditTab.Methode1;
begin
result := self;
end;
Um die forward-Deklaration von TEditTab zu vermeiden, kannst du auch bei GetObject einen Vorfahren zurückgeben.
grüße, daniel