Функция SetLimit Назад В начало Вперед

Назначение

Процедура устанавливает размер распределенной памяти под массив. Если mass - массив в памяти, не связанный с таблицей, то, если текущее число элементов массива превышает число элементов, определяемых параметром limit, то все непопадающие в диапазон элементы уничтожаются.

Описание

До Атлантис 5.1:

prosedure SetLimit (var mass : array of anyType; limit : word);

Атлантис 5.1 и выше:

function SetLimit (var mass : array of anyType; limit : longInt) : boolean;

Параметры

mass : array of anyType - имя массива.

limit : longInt - число элементов массива, под которые выделена память.

Возвращаемое значение

Если операция прошла успешно, то функция возвращает true, иначе - false. Работает только для динамических массивов, для статических массивов возвращает false.

При передаче поля не являющегося массивом выбрасывается исключение ExVip.ExArrayFieldNotValid.

Пример

var ar : array[1..5] of byte;
begin
  ar[5] := 10;
  Message(Count(ar));  //Будет выведено 5
  Message(ar[5]); //Будет выведено 10
  SetLimit(ar,1);
  Message(Count(ar));  //Будет выведено 1
  Message(ar[5]); //Будет выведено 0
end;