Ошибка variant or safe array index out of bounds

Добрый день! Помогите с возникшей ошибкой, уже всю голову сломал!


Имеются массивы:

PerOsnProcFrom,PerPeniFrom,PerOsnProcTo,PerPeniTo:array[1..150]of date;

CDInPeriod,CDInPeriodPeni:array[1..150]of integer;


Ранее другой процедурой заполняем значениями вышеописанные массивы, после чего текущей процедурой проверяем их содержание и при необходимости переписываем значения.


В коде, при выполнении условия else if DateEdit4.Date<DateEdit5.Date, при работе с массивом PerPeniFrom выходит ошибка: variant or safe array index out of bounds.


Иначе при выполнении условия if DateEdit4.Date>DateEdit5.Date, при аналогичных условиях, все работает отлично ни каких проблем нет.


В чем может быть дело? Заранее очень благодарен за помощь!


Вот процедура которая проверяет массивы и при необходимости перезаполняет их новыми значениями.

procedure PeriodChecking(cNum:byte);    

Var 

fromDate:date;    

begin

if

DateEdit4.Date>DateEdit5.Date

then

begin

  

fromDate:=PerOsnProcFrom[1];


for i:=1 to cNum-1

do

begin

if fromDate>PerOsnProcTo[i]          

then

begin

PerOsnProcFrom[i]:=0;                   

PerOsnProcTo[i]:=0;

PerOsnProcFrom[i+1]:=trunc(DateEdit4.Date)+1;  

fromDate:=DateEdit4.Date+1;       

CDInPeriod[i]:=0;

CDInPeriod[i+1]:=trunc(PerOsnProcTo[i+1])-trunc(DateEdit4.Date)+1;   

end;  

end;      

end

else if DateEdit4.Date<DateEdit5.Date

then

begin

fromDate:=PerPeniFrom[1];

for i:=1 to cNum-1      

do

begin

if fromDate>PerPeniTo[i]          

then

begin

PerPeniFrom[i]:=0;                   

PerPeniTo[i]:=0;

PerPeniFrom[i+1]:=trunc(DateEdit5.Date)+1;  

fromDate:=DateEdit5.Date+1;       

CDInPeriodPeni[i]:=0;

CDInPeriodPeni[i+1]:=trunc(PerPeniTo[i+1])-trunc(DateEdit5.Date)+1;   

end;  

end;       

end;  

end;

Комментарии

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.