Ich möchte dass eine Klasse zwei Interfaces implementiert, und ein Interface ist abgeleitet vom ersten und "verdeckt" eine Methode.
Sieht so aus:
Delphi-Quellcode:
type
IMyInterface = interface
['{521683FE-4DF8-43E5-8575-420FA539CA0A}']
function getNumber(): Integer;
end;
IMyInterfaceEx = interface(IMyInterface)
['{06555A86-3DCE-4DC0-84EE-3419B7164F5C}']
function getNumber(): Single;
end;
TMyObject = class(
TInterfacedObject,
IMyInterface,
IMyInterfaceEx
)
function IMyInterface.getNumber = IMyInterface_getNumber;
function IMyInterface_getNumber(): Integer;
function IMyInterfaceEx_getNumber(): Single;
function IMyInterfaceEx.getNumber = IMyInterfaceEx_getNumber;
end;
Ich bekomme in der Zeile
TMyObject = class
leider folgenden Fehler:
Code:
[dcc32 Fehler] Project8.dpr(22): E2291 Implementierung der Interface-Methode IMyInterface.getNumber fehlt
Mache ich was falsch oder will der Compiler einfach nicht? Wenn ja, warum will er nicht?
Link:
Doku -> Implementing Interfaces -> Method Resolution clause