E2179 Seule la convention d'appel registre est autorisée dans la section OLE Automation (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Vous avez spécifié une convention d'appel incorrecte sur une méthode apparaissant dans une section automated d'une déclaration de classe.


program Produce;

  type
    Base = class
    automated
      procedure Method; cdecl;
    end;

  procedure Base.Method; cdecl;
  begin
  end;

begin
end.

La spécification du langage désactive toutes les conventions d'appel sauf 'register' dans une section OLE automation. L'instruction incriminée est 'cdecl' dans le code ci-dessus.


program Solve;

  type
    Base = class
    automated
      procedure Method; register;
      procedure Method2;
    end;

  procedure Base.Method; register;
  begin
  end;

  procedure Base.Method2;
  begin
  end;

begin
end.

Cette erreur peut avoir trois solutions. La première est de ne spécifier aucune convention d'appel des méthodes déclarées dans une section auto. La seconde est de spécifier seulement la convention d'appel registre. La troisième est de sortir la déclaration incriminée de la section automation.