Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.018 c
1-89859
AngelSaint
2003-11-16 10:34
2003.11.27
system idle


6-90041
Вильдан
2003-10-01 07:22
2003.11.27
Как заставить тестирующую прогу брать вопросы с сервера


9-89664
Riko
2003-05-20 14:27
2003.11.27
Как загрузить карту?


1-89910
hellmachine
2003-11-15 04:23
2003.11.27
Возможно ли программно определить - был ли перекрыт виртуальный


4-90165
Volly
2003-10-04 14:24
2003.11.27
Сообщения в DLL




   Наверх