|
Индекс массива выходит за заданные пределы
|
|||
---|---|---|---|
#18+
Люди добрые, подскажите пожалуйста. Есть форма, на ней размещен pageframe (page5). Дак вот, когда выбираешь page2, на котором в свою очередь размещено 50 текстовых полей. С этих полей идет запись в ворд. У полей в ControlSource прописанно ma(1), ma(2) и т.д...В итоге Выдает такую ошибку: ИНДЕКС МАССИВА ВЫХОДИТ ЗА ЗАДАННЫЕ ПРЕДЕЛЫ. ОТМЕНА СВЯЗЫВАНИЯ ОБЪЕКТА TEXT41. И ТАК ПО 50-Е ТЕКСТОВОЕ ПОЛЕ. Я понимаю, что где-то в коде задан массив, но в итоге ни чего не понимаю Все обыскала, и нашла где в коде встречается ma(): 1 файл. Идет запись в ворд: ENDTRY FOR i = 1 TO ALEN(ma) IF !EMPTY(ma(i)) TRY oDoc.Bookmarks('П'+ALLTRIM(STR(i))).Range.InsertAfter(ALLTRIM(ma(i))) CATCH ENDTRY ENDIF ENDFOR TRY MD Temp CATCH ENDTRY 2.Файл: PARAMETERS i_res, s_res IF TYPE('ma')='U' PUBLIC ma (60) DIMENSION ma (60) STORE SPACE(254) TO ma ENDIF *!* SELECT priem *!* s = res1 + res2 + res3 + res4 *!* s = '' *!* IF TYPE('priem.res')='M' AND !EMPTY(priem.res) *!* s = priem.res *!* ENDIF s = s_res FOR i = 1 TO ALEN(ma) * ma(i) = PADR(ALLTRIM( GETWORDNUM(s,i,'•'+CHR(10)+CHR(13)) ),254) * ma(i) = ALLTRIM( GETWORDNUM(s,i,'•'+CHR(10)+CHR(13)) ) ma(i) = ALLTRIM( GETWORDNUM(s,i,'•'+CHR( )+CHR()) ) ENDFOR RETURN ma(i_res) Помогите разобраться. PS. Программа не моя, попросили сделать форму, а тут такое((( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 08:42 |
|
Индекс массива выходит за заданные пределы
|
|||
---|---|---|---|
#18+
Ошибка на которой строке? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 09:08 |
|
Индекс массива выходит за заданные пределы
|
|||
---|---|---|---|
#18+
Dima T, здравствуйте. Без понятия, если честно. Просто когда запускаешь программу и выбираешь нужный page, выдает ошибку. Нажимаешь ОК раз 10, и открывается форма. Я так поняла, что человек, который делал это все..где то ограничил что ли что-то.. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 09:41 |
|
Индекс массива выходит за заданные пределы
|
|||
---|---|---|---|
#18+
dl_93Люди добрые, подскажите пожалуйста. Есть форма, на ней размещен pageframe (page5). Дак вот, когда выбираешь page2, на котором в свою очередь размещено 50 текстовых полей. С этих полей идет запись в ворд.С полей можно собрать урожай или передать вести. С полей формы ничего записать невозможно в силу того, что НА полях формы ничего нет. В лучшем случае есть инфа В полях формы. У полей в ControlSource прописанно ma(1), ma(2) и т.д...Что нам доказывает ложность вашего предыдущего утверждения. Запись в ворд идет таки не С полей, и даже не ИЗ полей, а таки из массива. Значения элементов которого изменяются с помощью полей формы.В итоге Выдает такую ошибку: ИНДЕКС МАССИВА ВЫХОДИТ ЗА ЗАДАННЫЕ ПРЕДЕЛЫ. ОТМЕНА СВЯЗЫВАНИЯ ОБЪЕКТА TEXT41. И ТАК ПО 50-Е ТЕКСТОВОЕ ПОЛЕ. Что сообщает нам об отсутствии на момент инициализации формы элементов с номерами от 41 до 50.Я понимаю, что где-то в коде задан массив, но в итоге ни чего не понимаю Слово ничего пишется слитно.Все обыскала, и нашла где в коде встречается ma(): Код: sql 1.
А теперь запускайте отладчик и ищите место после которого alen(ma) становится меньше заданных в коде 60. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 09:50 |
|
Индекс массива выходит за заданные пределы
|
|||
---|---|---|---|
#18+
Используй обработчик ошибок. Запусти где-нибудь в начале программы. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 10:29 |
|
|
start [/forum/topic.php?fid=41&fpage=17&tid=1582067]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 381ms |
0 / 0 |