E2138 Ungültige Botschaftsparameterliste (Object Pascal)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Object Pascal) - Index

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.