Delphi Error – E2187 Size of published set ‘%s’ is >4 bytes

Delphi Compiler Error

E2187 Size of published set ‘%s’ is >4 bytes

Reason for the Error & Solution

The compiler does not allow sets greater than 32 bits to be contained in a published section. The size, in bytes, of a set can be calculated by High(setname) div 8 – Low(setname) div 8 + 1. -$M+

(*$TYPEINFO ON*)
program Produce;
  type
    CharSet = set of Char;
    NamePlate = class
      Characters : CharSet;
    published
      property TooBig : CharSet read Characters write Characters ;
    end;

begin
end.
	(*$TYPEINFO ON*)
program Solve;
  type
    CharSet = set of 'A'..'Z';
    NamePlate = class
      Characters : CharSet;
    published
      property TooBig : CharSet read Characters write Characters ;
    end;

begin
end.

Share:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

Delphi Compiler Error X2421 Imported identifier ‘%s’ conflicts with ‘%s’ in ‘%s’ Reason for the Error & Solution This occurs...
Delphi Compiler Error X2367 Case of property accessor method %s.%s should be %s.%s Reason for the Error & Solution No...
Delphi Compiler Error X2269 Overriding virtual method ‘%s.%s’ has lower visibility (%s) than base class ‘%s’ (%s) Reason for the...