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.