E2178 dynamic メソッドとメッセージハンドラは OLE オートメーション部に置くことはできません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
クラス宣言の automated 部の中へ動的メソッドかメッセージメソッドを誤って入れようとしました。
program Produce; type Base = class automated procedure DynaMethod; dynamic; procedure MessageMethod(VAR msg : Integer); message 151; end; procedure Base.DynaMethod; begin end; procedure Base.MessageMethod; begin end; begin end.
{ クラスの OLE オートメーション部の中では動的メソッドやメッセージメソッドを宣言できない。したがって,このプログラムにある 2 つのメソッド宣言はどちらもエラーを生成する }
program Solve; type Base = class procedure DynaMethod; dynamic; procedure MessageMethod(VAR msg : Integer); message 151; end; procedure Base.DynaMethod; begin end; procedure Base.MessageMethod; begin end; begin end.
{ プログラムからこのエラーを取り除く方法はいくつかある。まず,このコードに示すように,このエラーを生成した宣言を automated 部の外へ出す方法がある。あるいは,メソッドの dynamic 属性または message 属性を削除してもよい。これらの属性を削除すると,目的の動作は得られなくなるがエラーもなくなる }