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.