Помогите мне, идиоту. Забыл, как массив переразметить.
Народ, работаю без справочников под VB6. Вошёл в клин. Объявляю Private ArrText() as string. После этого переразмечаю: ReDim ArrText(x,y), затем пытаюсь переразметить с сохранением: ReDim Preserve ArrText(X1,Y1), причём Y1 = y, а Х1>х. Вроде бы, всё правильно, но получаю сообщение об ошибке Subscript Of Range. Блин, 1000 раз это делал, а сейчас из башки вылетело, а справочников нет никаких :(
Цитата:
Originally posted by mhaturov
Народ, работаю без справочников под VB6. Вошёл в клин. Объявляю Private ArrText() as string. После этого переразмечаю: ReDim ArrText(x,y), затем пытаюсь переразметить с сохранением: ReDim Preserve ArrText(X1,Y1), причём Y1 = y, а Х1>х. Вроде бы, всё правильно, но получаю сообщение об ошибке Subscript Of Range. Блин, 1000 раз это делал, а сейчас из башки вылетело, а справочников нет никаких :(
Народ, работаю без справочников под VB6. Вошёл в клин. Объявляю Private ArrText() as string. После этого переразмечаю: ReDim ArrText(x,y), затем пытаюсь переразметить с сохранением: ReDim Preserve ArrText(X1,Y1), причём Y1 = y, а Х1>х. Вроде бы, всё правильно, но получаю сообщение об ошибке Subscript Of Range. Блин, 1000 раз это делал, а сейчас из башки вылетело, а справочников нет никаких :(
С Preserve можно менять только верхнюю границу.
Цитата:
Originally posted by Cutty Sark
С Preserve можно менять только верхнюю границу.
С Preserve можно менять только верхнюю границу.
Ну да, я верхнюю границу 2-мерного массива меняю. Я понимаю, что у меня ошибка в синтаксисе, по большому счёту, но исправить её не могу, так как негде посмотреть, как правильно писать (ох и тяжко работать чисто по-памяти!):{
Цитата:
Originally posted by mhaturov
Ну да, я верхнюю границу 2-мерного массива меняю. Я понимаю, что у меня ошибка в синтаксисе, по большому счёту, но исправить её не могу, так как негде посмотреть, как правильно писать (ох и тяжко работать чисто по-памяти!):{
Ну да, я верхнюю границу 2-мерного массива меняю. Я понимаю, что у меня ошибка в синтаксисе, по большому счёту, но исправить её не могу, так как негде посмотреть, как правильно писать (ох и тяжко работать чисто по-памяти!):{
Ой, извини, протормозил.
У многомерного массива менять можно только последнюю размерность.
ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
Как вариант, объявлять безразмерный массив и только в последний момент устанавливать границы, когда все решено или написать функцию, которая будет создавать новый массив, копировать туда старый и возвращать новый
Цитата:
Originally posted by SergeySV
К сожалению это так...
Как вариант, объявлять безразмерный массив и только в последний момент устанавливать границы, когда все решено или написать функцию, которая будет создавать новый массив, копировать туда старый и возвращать новый
К сожалению это так...
Как вариант, объявлять безразмерный массив и только в последний момент устанавливать границы, когда все решено или написать функцию, которая будет создавать новый массив, копировать туда старый и возвращать новый
Ну ладно, сделаю с помощью "зеракльных" массивов. Спасибо