Отключить проверку диапазона Delphi только для небольшой части кода
Как можно отключить проверку диапазона для части файла. Отключение очень просто, но как я могу вернуться к настройке проекта позже? Ниже приведен псевдокод:
Unit1;
//here range checking on or off as per the project setting
code here...
{$R-}
//range checking is off here because the code causes range check errors
code here...
//now I want to revert to the project setting. How do I do that?
code here...
end.
Ответы
Ответ 1
Смотрите: директива IFOPT.
{$IFOPT R+}
{$DEFINE RANGEON}
{$R-}
{$ELSE}
{$UNDEF RANGEON}
{$ENDIF}
//range checking is off here because the code causes range check errors
//code here...
{$IFDEF RANGEON}
{$R+}
{$UNDEF RANGEON}
{$ENDIF}
Ответ 2
Оберните свой код в директивы $R
:
{$R-} // disable range checking
// do non-range-checked operations here
{$R+} // turn range checking back on
Обратите внимание, что директива применяется на уровне выписки. Вы не можете обернуть только часть выражения.