Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.48 MB
Время: 0.014 c
15-1151160348
Gbp
2006-06-24 18:45
2006.07.23
Неудобный отчет по утечкам памяти в BDS2006.


2-1151858235
МишаК
2006-07-02 20:37
2006.07.23
программирование и интернет


3-1147863832
Delphi basic
2006-05-17 15:03
2006.07.23
Отображение иерархической информации


3-1148184412
Аркадий
2006-05-21 08:06
2006.07.23
добавление поля в таблице


1-1149579760
.ruslan
2006-06-06 11:42
2006.07.23
Цвет колоны в ListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский