Подтвердить что ты не робот

Отключить проверку диапазона 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.
4b9b3361

Ответ 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

Обратите внимание, что директива применяется на уровне выписки. Вы не можете обернуть только часть выражения.