Главная страница
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.025 c
1-89834
Артем
2003-11-16 11:44
2003.11.27
Сохранение переменной внутри программы


3-89768
Blondin
2003-11-07 12:28
2003.11.27
Клиентская прога на сервере - <Просто путь> или localhost:путь


6-90028
SPIRIT
2003-10-01 01:53
2003.11.27
Отправить письмо


1-89909
UDS
2003-11-13 21:08
2003.11.27
Вызов процедуры из другого окна.


1-89950
avkar
2003-11-17 22:22
2003.11.27
проблемы с dll