E2183 dispid 節は OLE オートメーション部にしか許されていません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
automated 部に入っていないプロパティに dispid を指定しました。
program Produce; type Base = class v : integer; procedure setV(x : integer); function getV : integer; property Value : integer read getV write setV dispid 151; end; procedure Base.setV(x : integer); begin v := x; end; function Base.getV : integer; begin getV := v; end; begin end.
{ このプログラムは OLE オートメーションオブジェクトの dispid を設定しようとしているが,そのプロパティは automated 部で宣言されていない }
program Solve; type Base = class v : integer; procedure setV(x : integer); function getV : integer; automated property Value : integer read getV write setV dispid 151; end; procedure Base.setV(x : integer); begin v := x; end; function Base.getV : integer; begin getV := v; end; begin end.
{ エラーを解決するには,プロパティ宣言から dispid 節を削除するか,プロパティ宣言を automated 部の中へ入れる }