E2179 OLE オートメーション部にはレジスタ渡し規約しか許されません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
クラス宣言の automated 部の中にあるメソッドに対して,違法な呼び出し規約を指定しました。
program Produce; type Base = class automated procedure Method; cdecl; end; procedure Base.Method; cdecl; begin end; begin end.
{ 言語の仕様上,OLE オートメーション部では register 以外の呼び出し規約は使用できない。このコードでは cdecl 指令がエラーを起こしている }
program Solve; type Base = class automated procedure Method; register; procedure Method2; end; procedure Base.Method; register; begin end; procedure Base.Method2; begin end; begin end.
{ このエラーの解決方法は 3 つある。1 つは automated 部内で宣言したメソッドに対しては呼び出し規約を指定しない方法である。2 番めの方法は register 呼び出し規約だけを指定する方法である。3 番めの方法はエラーを起こした宣言をオートメーション部の外へ出す方法である }