E2265 L'interface '%s' n'est pas mentionnée dans la liste d'interfaces (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Une clause implements fait référence à une interface non citée dans la liste des interfaces de la classe.


program Produce;
type
  IMyInterface = interface
  end;

  TMyClass = class(TInterfacedObject, IUnknown)
    FMyInterface: IMyInterface;
    property MyInterface: IMyInterface read FMyInterface implements IMyInterface;
  end;
end.


Cet exemple utilise implements avec l'interface IMyInterface, qui n'est pas citée dans la liste des interfaces.


program Solve;
type
  IMyInterface = interface
  end;

  TMyClass = class(TInterfacedObject, IUnknown, IMyInterface)
    FMyInterface: IMyInterface;
    property MyInterface: IMyInterface read FMyInterface implements IMyInterface;
  end;
end.


Une solution rapide, illustrée ici, consiste à ajouter l'interface voulue à la liste des interfaces de la définition de la classe. Bien sûr, cet ajout à la liste des interfaces peut nécessiter l'implémentation des méthodes de l'interface.