1.2.65. $R или $RANGECHECKS : Проверка диапазона |
Вверх Предыдущий Следующий |
По умолчанию компилятор не генерирует код для проверки диапазонов индексов массивов, перечисляемых типов, поддиапазонов и т.п. Переключатель {$R+} указывает компилятору, чтобы он генерировал код для проверки этих индексов. Если во время выполнения программы индекс или перечисляемый тип выходит за пределы указанного диапазона, то генерируется ошибка времени выполнения, а программа завершается с кодом 201. Это может случиться, когда выполняется преобразование типов (явное или неявное) с перечисляемыми типами или поддиапазонами. Переключатель {$RANGECHECKS OFF} указывает компилятору, что НЕ требуется генерировать код проверки диапазона. Это, возможно, приведёт к неправильной работе программы, но ошибки времени выполнения не будут генерироваться.
В Delphi проверка диапазона работает только на уровне процедур. В Free Pascal директива {$R } может применяться на уровне выражений. |