Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

Range check error   Найти похожие ветки 

 
TUser ©   (2003-11-17 04:30) [0]

Что такое сабж? Выскакивает при установке значения динамического массива. Код такой
// Вычисляются некие числа
i:=...;
j:=...;

// Они точно не равны нулю
if i=0 then
i:=1;
if j=0 then
j:=1;

setLength(firstAr,i); // А вот здесь дает ошибку
setLength(SecondAr,j);


При этом по ходу работы алгоритма размер массива меняется несколько раз. Первые сколько-то раз все происходит нормально, а разу эдак на 10 возникает глюк.


 
ЮЮ ©   (2003-11-17 04:36) [1]

>Они точно не равны нулю

Нуль - это не проблема, а если меньше нуля?
Попробуй
if i < 1 then i := 1;
if j< 1 then j := 1;


 
TUser ©   (2003-11-17 04:43) [2]


> а если меньше нуля?


Да, точно. Спасибо.


 
Anatoly Podgoretsky ©   (2003-11-17 09:46) [3]

Как можно быть таким самоуверенным, опасные блоки надо защищать или как минимум параметры контролировать на допустимость.



Страницы: 1 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-89691
Denisiy
2003-11-06 12:11
2003.11.27
Ошибка после прерывания проги в отладке


4-90180
Ancara
2003-10-05 15:57
2003.11.27
GetMousePos


14-90129
Saturn
2003-11-03 13:29
2003.11.27
Microsoft Visual Studio .NET


14-90063
Thor
2003-11-03 17:46
2003.11.27
оф. стандарт


3-89708
ZHK
2003-11-06 09:40
2003.11.27
Paradox 4.5