E2207 Clause '%s' non autorisée dans le type interface (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

La clause spécifiée dans le message n'est pas autorisée dans un type interface. Cette erreur indique habituellement qu'une directive incorrecte a été spécifiée pour une propriété champ dans l'interface.


program Produce;
  type
    Base = interface
      function Reader : Integer;
      procedure Writer(a : Integer);
      property Value : Integer read Reader write Writer stored false;
    end;
begin
end.

Le problème dans le programme ci-dessus est que la directive stockée n'est pas autorisée dans les types interface.


program Solve;
  type
    Base = interface
      function Reader : Integer;
      procedure Writer(a : Integer);
      property Value : Integer read Reader write Writer;
    end;

begin
end.

La solution aux problèmes de cette nature est de supprimer la directive en cause. Bien sûr, il vaut mieux comprendre le comportement souhaité et l'implémenter d'une autre manière.