E2180 Dispid '%d' wird bereits von '%s' verwendet (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Es wurde versucht, dispid zu benutzen, das bereits einem anderen Member dieser Klasse zugewiesen wurde.
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.
Alle Dispids einer automatisierten Eigenschaft müssen eindeutig sein; SecondValue ist daher fehlerhaft.
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.
Der Fehler wird mit einem eindeutigen dispid für SecondValue behoben.