Описание |
Директива компилятора $Z устанавливает минимальный размер памяти, в байтах, которые необходимы перечислимым типам.
По умолчанию установлено 1 байт, таким образом, обеспечивая вместимость 256 перечислений.
Если Вы превысите текущий размер памяти, на любое определение, превысившее перечислимое значений (более чем 256), или, более вероятно, определение значений перечислений превышающих 256, то используется больший размер памяти. Директива $Z просто определяет минимальное число байтов для использования (см. пример).
|
|
Примечания |
$MinEnumSize эквивалентна $Z.
Она может быть установлена в вашем коде много раз.
Значение по умолчанию - $Z1.
|
|
Похожие команды |
$MinEnumSize Устанавливает минимальную память, используемую для хранения перечислимых типов
| |
|
Пример кода : Различные размеры перечислимых типов |
type
{$Z1} TCars1 = (Rover, Jaguar, Honda); //
Впишется в 1 байт TFruit1 = (Banana=255, Apple, Pear); //
Превысит один байт
{$Z4} TCars2 = (Ford, Nissan, Vauxhall); //
Теперь используется 4 байта TFruit2 = (Orange=255, Plum, Grape); //
Теперь используется 4 байта
begin
ShowMessage('TCars1 размер = '+IntToStr(SizeOf(TCars1)));
ShowMessage('TFruit1 размер = '+IntToStr(SizeOf(TFruit1)));
ShowMessage('TCars2 размер = '+IntToStr(SizeOf(TCars2)));
ShowMessage('TFruit2 размер = '+IntToStr(SizeOf(TFruit2)));
end;
|
TCars1 размер = 1
TFruit1 размер = 2
TCars2 размер = 4
TFruit2 размер = 4
|
|