E2209 Définitions de champ non autorisées dans le type interface (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Une interface a été rencontrée contenant des définitions de champs. Ceci n'est pas autorisé.
program Produce; type IBaseIntf = interface FVar : Integer; property Value : Integer read FVar write FVar; end; begin end.
Nous désirons avoir une propriété qui a une valeur associée. Cependant, comme les interfaces ne peuvent pas avoir de champs, cette idée ne fonctionnera pas.
program Solve; IBaseIntf = interface function Reader : Integer; procedure Writer(a : Integer); property Value : Integer read Reader write Writer; end; begin end.
Une solution élégante au problème décrit ci-dessus est de déclarer des procédures de définition et d'obtention de la propriété. Dans cette situation, toute classe implémentant l'interface doit fournir une méthode qui sera utilisée pour accéder aux données de la classe.