E2180 dispid '%d' はすでに '%s' で使用されています (Delphi)
エラーと警告のメッセージ(Delphi) への移動
このクラスですでに別のメンバーへ割り当ててある dispid を使用しようとしました。
program Produce; type Base = class v : Integer; procedure setV(x : Integer); function getV : Integer; automated property Value : Integer read getV write setV dispid 151; property SecondValue : 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.
{ 個々の automated プロパティの dispid はユニークでなければならないので,SecondValue はエラーである }
program Solve; type Base = class v : Integer; procedure setV(x : Integer); function getV : Integer; automated property Value : Integer read getV write setV dispid 151; property SecondValue : Integer read getV write setV dispid 152; end; procedure Base.setV(x : Integer); begin v := x; end; function Base.getV : Integer; begin getV := v; end; begin end.
{ SecondValue へユニークな dispid を割り当てればエラーはなくなる }