Avatar billede shjdsi Nybegynder
05. februar 2004 - 10:43 Der er 6 kommentarer og
1 løsning

kan ikke initalisere dynamisk array

Hej!
jeg har et problem med dynamisk array i vb6.
hvis  jeg laver et dynamisk array "arrFailedQueues()" og en counter, Derefter forsøger jeg at putte data i det. 
arrFailedQueues(cntFailedQueues) = myCurrentQueue

her fejler det med "subject out of range"

hvis jeg derimod lavwer et statisk array
dim arrFailedQueues(10) As String
Så kan jeg ikke lave redim preserver.

Dette er et uddrag af koden for at det ikke skulle fylde så meget i spg. håber i for pointen.


Dim arrFailedQueues() As String
cntFailedQueues = 1

        For ix = 0 To UBound(tst)
           
            If tst(ix).MyState = 4 Then
                myCurrentQueue = tst(ix).MyQueue
                arrFailedQueues(cntFailedQueues) = myCurrentQueue
                cntFailedQueues = cntFailedQueues + 1
               
            End If
               
          Next ix
      ReDim Preserve arrFailedQueues(cntFailedQueues)
Avatar billede nute Nybegynder
05. februar 2004 - 11:01 #1
flyt din Redim ind i din loop:

For ix = 0 To UBound(tst)
           
            If tst(ix).MyState = 4 Then
                ReDim Preserve arrFailedQueues(cntFailedQueues)
                myCurrentQueue = tst(ix).MyQueue
                arrFailedQueues(cntFailedQueues) = myCurrentQueue
                cntFailedQueues = cntFailedQueues + 1
               
            End If
               
          Next ix
Avatar billede shjdsi Nybegynder
05. februar 2004 - 12:41 #2
Det virker nu tak for hjælpen læg et svar for point
Avatar billede nute Nybegynder
05. februar 2004 - 12:45 #3
fino :]
Avatar billede martin_moth Mester
11. februar 2004 - 15:35 #4
Bemærk order Preserve - læs hvad det betyder i hjælpen

Der er stor forskel på

  Redim Preserve ArrayNavn(4)

og

  Redim ArrayNavn(4)
Avatar billede shjdsi Nybegynder
12. februar 2004 - 08:34 #5
martin moth:
Redim allokere blot memory til array igen og alle data dette måtte holde bortfalder, derimod hvis jeg anvender preserve vil data initaliseret i array blive, har jeg ret i den korte fortolkning (Det er sådan jeg har forstået det) :-)
note:
Unskyld jeg ikke har lagt point endnu, en forglemmelse, ska gøre det idag.
Avatar billede nute Nybegynder
12. februar 2004 - 09:13 #6
shjdsi >> yup ... det er korrekt. hvis du vil beholde data, så skal du bruge Preserve.
Avatar billede zhasha Nybegynder
06. august 2004 - 22:26 #7
for at lave dit dynamiske array dynamisk SKAL du erklære den sådan her: Dim MyArray() as String. eller hvordan du nu vil ha det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester