RAD Studio (Common)
ContentsIndex
PreviousUpNext
E2182: '%s' clause not allowed in OLE automation section (Delphi)

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.

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!