E2119 Strukturfeldbezeichner erwartet (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Ein Bezeichner auf der rechten Seite des Punktes ist kein Feld des Records, der links vom Punkt angegeben ist. Eine mögliche und schwer zu findende Ursache für diesen Fehler ist, dass Sie in einem Record den Feldbezeichner Ch verwenden, der vom Inline Assembler als Registername interpretiert wird.


program Produce;

  type
    Data = record
      x: Integer;
    end;

  procedure AssemblerExample(d : Data; y : Char);
  asm
    mov  eax, d.y
  end;

begin
end.

In diesem Beispiel erkennt der Inline Assembler y als gültigen Bezeichner, aber nicht als Element von d.


program Solve;

  type
    Data = record
      x: Integer;
    end;

  procedure AssemblerExample(d : Data; y : Char);
  asm
    mov  eax, d.x
  end;

begin
end.

Geben Sie den richtigen Variablennamen an.