E2138 Ungültige Botschaftsparameterliste (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Eine Botschaftsprozedur kann nur einen Parameter haben (var). Der Typ des Parameters wird nicht geprüft.
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.
Im ersten Fall besteht der Fehler darin, dass es sich nicht um einen var-Parameter handelt. Im zweiten Fall ist mehr als ein Parameter deklariert.
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.
Die Lösung besteht in beiden Fällen darin, in der Deklaration der Botschaftsmethode nur einen Parameter (var) anzugeben.