E2183 Clause Dispid autorisée seulement dans la section OLE Automation (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Dispid a été donné à une propriété qui ne se trouve pas dans une section automated.
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.
Ce programme essaie de définir dispid pour un objet OLE automation, mais la propriété n'a pas été déclarée dans une section 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.
Pour résoudre cette erreur, vous pouvez soit enlever la clause dispid de la déclaration de propriété, soit déplacer la déclaration de propriété dans une section automated.