Въпрос за Redim

7 отговора 205 прегледа
#1

Въпрос за Redim

Искам да увелича границите на един масив от 90 на 100, а също и да запазя вече съществуващата информация в него, но при Redim ми излиза съобщение за грешка "Subscript out of range". Аз ли бъркам някъде или VB6 е бъгав?

Благодаря предварително

Бии, за да те уважават!
Отговор
в отговор на пpoГЪPMИcт #2

Re: Въпрос за Redim

На мен също ми трябваше това Redim за една програма, но имах същия проблем и все още незнам как да го реша.

Отговор
в отговор на пpoГЪPMИcт #3

Dai poveche info za problema.

Dosega ne sam ima problemi s Redim (Preserve), taka, che mi e mnogo chudno tova

Отговор
в отговор на пpoГЪPMИcт #4

Я дай кода

Я напиши кода който ти дава грешка (От Dim.... до Redim...)

Отговор
в отговор на Гeoprи #5

Re: Я дай кода

Нямам Dim, защото той не е необходим!

За съжаление сега нямам оригиналният код, но този гърми по същият начин:
(този път сложих Dim, но това не ме стопли особено)

Dim arr() As String

ReDim arr(2, 2) As String
arr(1, 1) = "a"
arr(1, 2) = "b"
arr(2, 1) = "c"
arr(2, 2) = "d"
ReDim Preserve arr(3, 3) As String
Debug.Print arr(1, 1)
Debug.Print arr(1, 2)
Debug.Print arr(2, 1)
Debug.Print arr(2, 2)

Ето аз до какво достигнах -
1. ReDim-а без Preserve, си работи без проблеми с по-големи стойности от 3.
2. ReDim-а с Preserve работи само при - ReDim Preserve arr(2, 2) As String

Надявам се да съм сбъркал, и все още да не мога да намеря правилното решение.
Гадното е, ако се окаже бъг в VB-то

Благодаря за съдействието

Бии, за да те уважават!
Отговор
в отговор на пpoГЪPMИcт #6

Vij sega...

Vednyj kato opredelish s Redim razmernostta na masiva, niama kak da go promeniash bez da go zatriesh - zatova ne moje da polzvash Redim Preserve (x,y) na koito x e drugo chislo - moje da promeniash y, no ne i x

Отговор
в отговор на ActiveX #7

Re: Vij sega...

Да. Прав си.
ReDim Preserve в този случай, можеш да променяш само y.
Е все пак е нещо, въпреки, че не ми върши работа, в случая.

То го пишело и в документацията. Но няма кой да я чете

Бии, за да те уважават!
Отговор
в отговор на пpoГЪPMИcт #8

Трябва

при редимите да пазиш същата дименсия. Двумерният масив да си остане двумерен и т.н. - първо го дефинирай и после е РЕДИМ ПРЕЗЪРВ ....

UB40 !
Отговор