E2270 Publizierte Methoden zum Setzen und Lesen von Eigenschaften müssen die %s-Aufrufkonvention besitzen (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Eine Eigenschaft, die in einem als published deklarierten Abschnitt enthalten ist, besitzt eine Zugriffsmethode (getter oder setter), die keine korrekte Aufrufkonvention besitzt.


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.


Im Beispiel wurde die Getter-Methode Getter der Eigenschaft Value mit der cdecl-Aufrufkonvention deklariert. Da Value als published deklariert ist, erzeugt dieses Beispiel einen Fehler.


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.


Die Lösung besteht darin, für den Getter die korrekte Aufrufkonvention zu deklarieren (dies ist der Standard). In diesem Beispiel wurde keine Aufrufkonvention festgelegt.