E2209 Felddeklarationen sind im Typ interface nicht erlaubt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Eine Schnittstelle enthält unzulässigerweise Felddefinitionen.
program Produce; type IBaseIntf = interface FVar : Integer; property Value : Integer read FVar write FVar; end; begin end.
In diesem Beispiel wird versucht, einer Eigenschaft einen Wert zuzuweisen. Das funktioniert aber nicht, weil Schnittstellen keine Felder enthalten dürfen.
program Solve; IBaseIntf = interface function Reader : Integer; procedure Writer(a : Integer); property Value : Integer read Reader write Writer; end; begin end.
Eine elegante Lösung für dieses Problem besteht in der Deklaration von Abruf- und Zuweisungsprozeduren für die Eigenschaft. In diesem Fall muss jede Klasse, welche die Schnittstelle implementiert, eine Methode bereitstellen, die für den Zugriff auf die Daten der Klasse eingesetzt wird.