E2119 構造体フィールドの識別子が必要です (Delphi)
エラーと警告のメッセージ(Delphi) への移動
インラインアセンブラが「.」の右側に識別子を認識しましたが,それは「.」の左側にあるレコードのフィールドではありませんでした。よくあるエラー(しかし見つけるのが難しいエラー)は,「ch」というフィールドがあるレコードを使った場合です。インラインアセンブラは常に ch をレジスタ名として解釈します。
program Produce; type Data = record x : Integer; end; procedure AssemblerExample(d : Data; y : Char); asm mov eax, d.y end; begin end.
{ このコードでは,インラインアセンブラは y を有効な識別子として認識したが,y を d 型のメンバーとしては認識しなかった }
program Solve; type Data = record x : Integer; end; procedure AssemblerExample(d : Data; y : Char); asm mov eax, d.x end; begin end.
{ 正しい変数名を指定すればエラーはなくなる }