E2261 La clause implements n'est autorisée que pour les propriétés lisibles (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Le compilateur a rencontré une propriété en écriture seule qui cherche à implémenter une interface. Une propriété doit être lisible pour utiliser la clause implements.


program Produce;
type
  IMyInterface = interface
  end;

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


Dans cet exemple, la propriété est en écriture seule et ne peut être utilisée pour implémenter une interface.


program Solve;
type
  IMyInterface = interface
  end;

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


Ajouter une clause read permet à la propriété d'utiliser la clause implements.