Show: Object Pascal C++
Display Preferences

E2182 '%s' clause not allowed in OLE automation section (Object Pascal)

From Appmethod Topics
Jump to: navigation, search

Go Up to Error and Warning Messages (Object Pascal) Index

INDEX, STORED, DEFAULT and NODEFAULT are not allowed in OLE automation sections.


program Produce;

  type
     Base = class
       v : integer;
       procedure setV(x : integer);
       function getV : integer;
       automated
       property Value : integer read getV write setV nodefault;
     end;

  procedure Base.setV(x : integer);
  begin v := x;
  end;

  function Base.getV : integer;
  begin getV := v;
  end;

begin
end.

Including a NODEFAULT clause on an automated property is not allowed.


program Solve;

  type
     Base = class
       v : integer;
       procedure setV(x : integer);
       function getV : integer;
       automated
       property Value : integer read getV write setV;
     end;

  procedure Base.setV(x : integer);
  begin v := x;
  end;

  function Base.getV : integer;
  begin getV := v;
  end;

begin
end.

Removing the offending clause will cause the error to go away. Alternatively, moving the property out of the automated section will also make the error go away.

Personal tools
In other languages