An attempt to use a dispid which is already assigned to another member of this class.
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.
Each automated property's dispid must be unique, thus SecondValue is in error.
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.
Giving a unique dispid to SecondValue will remove the error.
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
|
What do you think about this topic? Send feedback!
|