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.