webForumDet fria alternativet

Konstigt felmeddelande

ASP

2 svar · 189 visningar · startad av joup

Medlem sedan feb. 2002116 inlägg
Frågan#1

Hej!

Jag har en kod-snutt som ser ut så här

dim ny_array(500000) 
kaka = split(request.cookies("foruminlagg"),"|")

for i = 0 to ubound(kaka)
if not kaka(i) = "" then
kaka2 = split(kaka(i),";")

ny_array(kaka2(0)) = kaka2(1)
end if
next

Vad den gör är att hämta en cookie från datorn och splittar sedan den. Problemet är att vissa får ett felmeddelande som jag inte kan tyda. Felmeddelandet försvinner dock om personen i fråga tömmer sina cookies. För de flesta fungerar det dock bra.

Microsoft VBScript runtime error '800a000d' 
Type mismatch: 'kaka2(...)' 

/forum/forum.asp, line 197

Line 197 är den tomma raden efter "kaka2=split..."

Någon som kan hjälpa mig att tyda felmeddelandet?

Medlem sedan jan. 20032 285 inlägg
#2

Funkar det kanske bättre såhär? :)

dim ny_array(500000) 
kaka = split(request.cookies("foruminlagg"),"|")

for i = 0 to ubound(kaka)
  if not kaka(i) = "" then
    kaka2 = split(kaka(i),";")

    If IsNumeric(kaka2(0)) Then
      ny_array(CInt(kaka2(0))) = kaka2(1)
    End If
  end if
next
Medlem sedan juni 20022 599 inlägg
#3

<ot>

joup skrev:

dim ny_array(500000)

Du är medveten om att den raden ensam allokerar 7.6 MB minne vid varje sidträff?? Borde gå att lösa lite smartare med tex ett Dictionary-objekt.
</ot>

247 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)