Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Érvénytelen objektumváltozóra hivatkozik a rendszer. Ez a hiba több okból is előfordulhat:
Egy változó típus megadása nélkül lett deklarálva. Ha egy változó típus megadása nélkül van deklarálva, alapértelmezés szerint be kell gépelnie
Object.Egy deklarált
Dim xváltozó például egy deklarált változó típusávalObject;Stringlenne deklarálvaDim x As String.Jótanács
Az
Option Strictutasítás nem engedélyezi az implicit gépelést, amely típustObjecteredményez. Ha kihagyja a típust, fordítási időhiba lép fel. Lásd a Szigorú utasítás lehetőséget.Egy olyan objektumra próbál hivatkozni, amely a következőre
Nothinglett beállítva: .Olyan tömbváltozó egyik eleméhez próbál hozzáférni, amely nem lett megfelelően deklarálva.
Egy deklarált
products() As Stringtömb például aktiválja a hibát, ha a tömbproducts(3) = "Widget"egy elemére próbál hivatkozni. A tömb nem rendelkezik elemekkel, és objektumként van kezelve.A blokkon belüli
With...End Withkódhoz a blokk inicializálása előtt próbál hozzáférni. AWith...End Withblokkokat inicializálni kell az utasítás belépési pontjánakWithvégrehajtásával.
Megjegyzés:
A Visual Basic vagy a VBA korábbi verzióiban ezt a hibát az is kiváltotta, hogy egy értéket egy változóhoz rendelt a Set kulcsszó (x = "name" helyett Set x = "name") használata nélkül. A Set kulcsszó már nem érvényes a Visual Basic .Net-ben.
A hiba kijavítása
OnEhhezOption Strictadja hozzá a következő kódot a fájl elejéhez:Option Strict OnA projekt futtatásakor egy fordítóhiba jelenik meg a típus nélkül megadott változók hibalistájában .
Ha nem szeretné engedélyezni
Option Strict, keressen rá a kódban olyan változókra, amelyek típus (Dim xhelyett) nélkülDim x As Stringlettek megadva, és adja hozzá a kívánt típust a deklarációhoz.Győződjön meg arról, hogy nem a beállított objektumváltozóra
Nothinghivatkozik. Keressen rá a kulcsszóraNothing, és módosítsa a kódot úgy, hogy az objektum csak a hivatkozás után legyen beállítvaNothing.A tömbváltozók elérése előtt győződjön meg arról, hogy a tömbváltozók méretezve vannak. Hozzárendelhet egy dimenziót a tömb első létrehozásakor (
Dim x(5) As StringahelyettDim x() As String), vagy aReDimkulcsszóval beállíthatja a tömb dimenzióit, mielőtt hozzá fér.Győződjön meg arról, hogy a
Withblokk inicializálva van az utasítás belépési pontjánakWithvégrehajtásával.