E2261 Implements-Klausel ist nur für lesbare Eigenschaften erlaubt (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Der Compiler hat eine Nur-Schreiben-Eigenschaft angetroffen, die angibt, eine Schnittstelle zu implementieren. Eine Eigenschaft muss jedoch lesbar sein, damit die implements-Klausel verwendet werden kann.


program Produce;
type
  IMyInterface = interface
  end;

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


Bei der Eigenschaft in diesem Beispiel handelt es sich um eine Nur-Schreiben-Eigenschaft, daher kann sie nicht zur Implementierung einer Schnittstelle verwendet werden.


program Solve;
type
  IMyInterface = interface
  end;

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


Wenn Sie eine read-Klausel hinzufügen, kann die Eigenschaft die implements-Klausel verwenden.