E2278 local 指定を持つシンボル %s のアドレスをとることはできません (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動

local 指令が指定された関数または手続き内からシンボルを呼び出そうとしています。

local 指令は,ルーチンがエクスポートできないことを示します。この指令はプラットフォーム固有であり,Windows プログラミングでは意味を持ちません。

Linux では,コンパイルされてライブラリに含まれるけれどもエクスポートはされないルーチンに対して local 指令が使用されます。この指令は,スタンドアロンの手続きまたは関数に対して指定でき,メソッドには指定できません。local を使って宣言されたルーチンの例を次に示します。


function Contraband(I: Integer): Integer; local;

これは EBX レジスタを更新しないため,次の制約があります。

  • ライブラリからエクスポートできない
  • ユニットのインターフェース部で宣言できない
  • 手続き型変数にアドレスを使用または代入できない
  • 純粋なアセンブラルーチンである場合,呼び出し側が EBX を設定しない限り,ほかのユニットから呼び出せない