E2270 Les getters et setters de propriétés publiées doivent avoir la convention d'appel %s (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Une propriété apparaissant dans une section published a une procédure getter ou setter qui n'utilise pas la convention d'appel correcte.


unit Produce;
interface
  type
    Base = class
    public
      function getter : Integer; cdecl;
    published
      property Value : Integer read getter;
    end;

implementation
function Base.getter : Integer;
begin getter := 0;
end;

end.


Cet exemple déclare la fonction d'obtention getter de la propriété publiée Value avec la convention d'appel cdecl, ce qui provoque l'erreur.


unit Solve;
interface
  type
    Base = class
    public
      function getter : Integer;
    published
      property Value : Integer read getter;
    end;

implementation
function Base.getter : Integer;
begin getter := 0;
end;

end.


La seule solution à ce problème est de déclarer la fonction getter afin qu'elle corresponde à la convention d'appel correcte, qui est celle par défaut. Comme le montre l'exemple, aucune convention d'appel n'est spécifiée.