Описание |
Директива компилятора $MinEnumSize устанавливает минимальный размер памяти, в байтах, которые будут иметь перечислимые типы.
По умолчанию установлено в 1 байт, таким образом, обеспечивая вместимость для 256 чисел.
Если вы превысите текущий размер памяти, на любое определение чересчур большое значений чисел (более чем 256), или, более вероятно, определение значений перечисления, превышающих 256, то используется больший размер памяти. Директива $MinEnumSize просто определяет минимальное число байтов для использования.
|
|
Примечания |
$MinEnumSize эквивалентентна $Z.
В вашем коде она может быть установлена много раз.
Значением по умолчанию является $MinEnumSize 1.
|
|
Похожие команды |
$Z Устанавливает минимальную память, необходимую для держания в памяти перечислимых типов
| |
|
Пример кода : Различные размеры перечислимых типов |
type
{$MinEnumSize 1} TCars1 = (Rover, Jaguar, Honda); // Впишется в 1 байт TFruit1 = (Banana=255, Apple, Pear); // Превысит один байт
{$MinEnumSize 4} 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
|
|