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.