webForumDet fria alternativet

problem med att skapa en array

.NET

7 svar · 287 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#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

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

Nu får jag:
Subscript out of range.

på samma rad.

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)

Medlem 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

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 ;)

Medlem 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?

Medlem sedan juni 200032 967 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,

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)