E2138 Liste de paramètres message incorrecte (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Une procédure message ne peut prendre qu'un paramètre VAR, son type n'est pas vérifié.
program Produce; type Base = class procedure Msg1(x : Integer); message 151; procedure Msg2(VAR x, y : Integer); message 152; end; procedure Base.Msg1(x : Integer); begin end; procedure Base.Msg2(VAR x, y : Integer); begin end; begin end.
Dans le premier cas, l'erreur évidente est que le paramètre n'est pas VAR. L'erreur dans le deuxième cas est qu'il y a plus d'un paramètre déclaré.
program Solve; type Base = class procedure Msg1(VAR x : Integer); message 151; procedure Msg2(VAR y : Integer); message 152; end; procedure Base.Msg1(VAR x : Integer); begin end; procedure Base.Msg2(VAR y : Integer); begin end; begin end.
La solution dans les deux cas était de ne spécifier qu'un paramètre var dans la déclaration de la méthode message.