webForumDet fria alternativet

problem med att skapa en array

.NETur .NET

7 svar · 285 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

Jag har denna kod i en for-loop:

                Dim arrtop As Variant
                [B]arrtop(0, i) = user_id[/B]
                arrtop(1, i) = summa

Felmeddelandet jag får är:
Type mismatch

på raden med fetstil.

Vad kan det vara för fel? :q

Engine^Medlem sedan dec. 20003 887 inlägg
#2
Dim arrtop[b]()[/b] As Variant
ampyMedlem sedan feb. 20011 498 inlägg
#3

Nu får jag:
Subscript out of range.

på samma rad.

Engine^Medlem sedan dec. 20003 887 inlägg
#4

Vad är i?

Private Const MAX_VALUE_1 As Long = 10
Private Const MAX_VALUE_2 As Long = 10

Dim arrtop(MAX_VALUE_1, MAX_VALUE_2) As Variant

Det jag tänkte påpeka är att innan du använder din array, så bör du ha den korrekt Dim:ad (How to Determine if an Array has been Dimensioned)

ampyMedlem sedan feb. 20011 498 inlägg
#5

i innehåller värden från 0 och uppåt. Du kanske missade att koden ligger i en for-loop?

Vad menar du med korrekt dimad?

Är den inte det? :q

Engine^Medlem sedan dec. 20003 887 inlägg
#6

Subscript out of range innebär att du försöker sätta ett värde på index i din array som är större än UBound(arrtop). Så får man inte göra, eftersom då skulle operativet haverera pga slaskskrivningar i minnet.

Dim arrtop() As Variant
Dim iMax As Long

iMax = [i]maxvärdet som du ska använda i din loop[/i]

ReDim arrtop(2, iMax + 1) As Variant

For i = 0 To iMax
  .
  .
  .

  arrtop(0, i) = user_id
  arrtop(1, i) = summa
Next i

Det kanske beskriver lite bättre vad jag menar ;)

ampyMedlem sedan feb. 20011 498 inlägg
#7

Tackar!

Fungerar nu. :)

En liten annan sak också bara:
Såg att du skrev next i

Jag brukar bara skriva next

Är det ngn skillnad?

@ndersMedlem sedan juni 200032 969 inlägg
#8

Om du har nästlade loopar är det bra att man kan vara tydlig i sin kod genom att specificera vilken av looparna det är du vänder. Det behövs (enligt min uppfattning) inte, men det tillhör (även det IMHO) god programmerarsed.

Mvh,

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)