Name

$MinEnumSize Compiler Directive

Syntax

{$Z1}            // default
{$MinEnumSize 1} // default
{$Z2}
{$Z4}
{$MinEnumSize 2}
{$MinEnumSize 4}
{$Z-} // obsolete, means {$Z1}
{$Z+} // obsolete, means {$Z4}

Scope

Local

Description

The $MinEnumSize compiler directive sets the smallest size (in bytes) that Delphi uses for an enumerated type. The default is 1 byte, which means Delphi uses the size that is most appropriate. An enumeration with up to 256 literals fits in 1 byte, and an enumeration with up to 65,568 literals fits into 2 bytes.

If you have an enumerated type that must be compatible with an enum in a C or C++ program, you can adjust the size of the enumerated type for compatibility. Usually, that means setting the minimum enumeration size to 4.

Example

{$MinEnumSize 4}  // Increase the size for C compatibility.
type
  TCEnum = (cRed, cBlack);
{$MinEnumSize 1} // Restore the default.

function GetColor: TCEnum; external 'cdemo.dll';

See Also

Type Keyword
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset