webForumDet fria alternativet

"Run-time error '91', Object variable or With Block variable not set

.NET

8 svar · 588 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

Hej!

Har följande kod:

dim personer() as Person

redim personer(0)

dim p as person

set p = new Person

personer(0) = p <-- detta ger felmeddelandet "Run-time error '91'
Object variable or With Block variable not set

Varför?

Medlem sedan juni 200032 967 inlägg
#2

Du har dimmat personer att vara av typen Person. Det ska väl vara en vanlig variant-array?

Medlem sedan maj 20012 237 inlägg
#3

Vektoren personer skall lagra objekt av type Person. :)
Man ska väl inte använda variant, ifall man vet att bara en sorts object lagras i den?

Medlem sedan juni 200032 967 inlägg
#4

Nej, du har nog rätt. Om du gör så här då:

dim personer(0) as Person

och hoppar över redim?

Medlem sedan maj 20012 237 inlägg
#5

Grejen är att personer ska agera som en dynamisk vektor.

ska senare utöka storleken med redim preserve ...

Medlem sedan maj 20012 237 inlägg
#6

Nää, fungerar fortfarande inte

Man måste väl kunna använda dynamiska vektorer till egendefinierade klasser?

Medlem sedan juni 200032 967 inlägg
#7

Okay, jag förstår. Dynamik är överskattat. ;)

Låt mig fundera. :)

mvh

Medlem sedan maj 20012 237 inlägg
#8

Nu har jag löst det (fick lite hjälp från ett annat forum :r )

Lösngen:

dim personer() as Person

redim personer(0)

dim p as person

set p = new Person

set personer(0) = p

Medlem sedan juni 200032 967 inlägg
#9

Gah, såklart!

Det borde jag ha sett, sorry. Men huvudsaken är att du löste det! :bire

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