Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
ВнизМассив типа Variant Найти похожие ветки
← →
Gerasym (2006-07-03 16:31) [0]В процессе написания софтинки столкнулся с ошибкой:
"Variant or safe array index out of bounds"
(выбивает в самом начале цикла по сравнению 2х массивов)
Уважаемы знатоки подскажите пожалуйста - какие существуют на него ограничения?
Массив на ~900 значений сравнивается с массивом на ~11000 значений.
Может есть ограничение на длинну массива?
← →
icWasya © (2006-07-03 16:40) [1]ну а выход за границу массива не проверяешь??
← →
Gerasym (2006-07-03 16:47) [2]А как? Да и вылет в происходит в самом начале цикла, следовательно я в начале массива и нахожусь
← →
Gerasym © (2006-07-03 17:00) [3]Опишу подробнее
Имеется 2 массива
ArrayData := VarArrayCreate([1,Rows,1,2], varVariant);
ArrayData2:= VarArrayCreate([1,Rows2], varVariant);
Rows - кол-во использованных строк в Книге Эксель
Первый массив из одного файла, второй - из другого заполняется диапазоном значений. Потом начинается цикл сравнения значений первого массива и второго.
for i:=1 to rows do
for j:=1 to rows2 do
if ArrayData[i,1]=ArrayData2[j] then ArrayData2[j]:=0
В самом начале цикла вылетаю с ошибкой :(
← →
Ega23 © (2006-07-03 17:12) [4]Индесация не с нуля ли начинается?
← →
Gerasym © (2006-07-03 17:14) [5]что с 0 цикл начинать что с 1 - результат тот же :(
← →
Германн © (2006-07-03 17:22) [6]
> что с 0 цикл начинать что с 1 - результат тот же :
А заканчивать rows или rows-1 есть разница? :-)
← →
Gerasym © (2006-07-03 17:24) [7]Дык в начале цикла то выбивает :)))
← →
Gerasym © (2006-07-03 17:27) [8]Что значит Safe Array Index? Безопасный индекс массива?
← →
Германн © (2006-07-03 17:31) [9]
> Да и вылет в происходит в самом начале цикла, следовательно
> я в начале массива и нахожусь
Не очевидно. Посмотри под отладчиком.
← →
Gerasym © (2006-07-03 17:32) [10]Посмотрел :) как только происходит инициализация цикла - сразу эта ошибка
← →
Германн © (2006-07-03 17:34) [11]
> Посмотрел :) как только происходит инициализация цикла -
> сразу эта ошибка
И чему в этот момент равна переменная цикла?
← →
Gerasym © (2006-07-03 17:41) [12]в зависимости от того с чего начну цикл... если с 0 то 0, если 1 - то соответственно 1 :)
← →
Германн © (2006-07-03 17:48) [13]
> в зависимости от того с чего начну цикл... если с 0 то 0,
> если 1 - то соответственно 1 :)
Это ты увидел под отладчиком или предполагаешь?
← →
Gerasym © (2006-07-03 17:49) [14]Я же написал что посмотрел
← →
tesseract © (2006-07-03 17:50) [15]
> Что значит Safe Array Index? Безопасный индекс массива?
SafeArray - такое ole-шный тип данных.
> Посмотрел :) как только происходит инициализация цикла -
> сразу эта ошибка
А массив инициализирован?
← →
Gerasym © (2006-07-03 17:55) [16]Массив инициализирован и заполнен данными
У SafeArray нету ограничений на длинну?
← →
Gerasym © (2006-07-03 18:31) [17]Все :) нашел в чем дело...
Массив я неправильно создавал
ArrayData2:= VarArrayCreate([1,Rows2], varVariant); неправильный
ArrayData2:= VarArrayCreate([1,Rows2,1,1], varVariant); правильный
ура товарищи :)
Всем кто помогал спасибо :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c