Справочник функций и процедур Delphi: $RangeChecks

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

$RangeChecks
Деректива компилятора
Определяет, проверяет ли Delphi границы массива unit
  
1 {$RangeChecks Off}

2 {$RangeChecks On}

Google  
 
Описание
Директива компилятора $RangeChecks определяет, должен ли Delphi добавить код, для проверки границ массива.

По умолчанию она выключена, означая, что "плохой" доступ к массиву пройдёт незамеченным, показав себя в трудном для отладки части кода.

Рекомендуется включить $RangeChecks, чтобы обнаружить проблемы границ массива. Это приведет к вызову исключения, позволяя проверить код и исправлять найденные точки отказа.
Примечания
$RangeChecks эквивалентна $R.

Она может и должен быть установлена в вашем коде только один раз.

Значение по умолчанию - $RangeChecks Off.
Похожие команды
$R  Определяет, проверяет ли Delphi границы массива

$Resource  Определяет файл ресурса, который будет включен в приложение

 
Пример кода : Захват проблем звязанных с массивом.
var
  myArray : array[1..5] of string;
  i : Integer;

begin
  // Проверка диапазона включена
  {$RangeChecksOn}

  // Массив начинается с 0 - обычно нормально, но наш
  // массив начинается с 1.
  for i := 0 to 5 do
  begin
    myArray[i] := 'Element '+IntToStr(i);
    ShowMessage('myArray['+IntToStr(i)+'] = '+myArray[i]);
  end;
end;
Delphi выдаст исключение ERangeError
 
Пример кода : Игнорирование проблем границ массива
var
  myArray : array[1..5] of string;
  i : Integer;

begin
  // Проверка диапазона выключена
  {$RangeChecksOff}

  // Массив начинается с 0 - обычно нормально, но наш
  // массив начинается с 1.
  for i := 0 to 5 do
  begin
    myArray[i] := 'Element '+IntToStr(i);
    ShowMessage('myArray['+IntToStr(i)+'] = '+myArray[i]);
  end;
end;
myArray[0] = Element 0
myArray[1] = Element 1
myArray[2] = Element 2
myArray[3] = Element 3
myArray[4] = Element 4
myArray[5] = Element 5
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook