Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Odkazuje se na neplatnou proměnnou objektu. K této chybě může dojít z několika důvodů:
Proměnná byla deklarována bez zadání typu. Pokud je proměnná deklarována bez zadání typu, výchozí hodnota je typ
Object
.Například proměnná deklarovaná
Dim x
pomocí by byla typuObject;
proměnná deklarovanáDim x As String
s typem typuString
.Tip
Příkaz
Option Strict
nepovoluje implicitní zadávání, které má za následek typObject
. Pokud tento typ vynecháte, dojde k chybě v době kompilace. Viz příkaz Option Strict.Pokoušíte se odkazovat na objekt, který byl nastaven na
Nothing
.Pokoušíte se získat přístup k prvku proměnné pole, která nebyla správně deklarována.
Například pole deklarované jako
products() As String
aktivuje chybu, pokud se pokusíte odkazovat na prvek poleproducts(3) = "Widget"
. Pole nemá žádné prvky a považuje se za objekt.Před inicializacem bloku se pokoušíte získat přístup k kódu v
With...End With
rámci bloku.With...End With
Blok musí být inicializován spuštěním vstupníhoWith
bodu příkazu.
Poznámka:
V dřívějších verzích jazyka Visual Basic nebo VBA byla tato chyba aktivována také přiřazením hodnoty proměnné bez použití klíčového Set
Set x = "name"
slova (x = "name"
místo). Klíčové Set
slovo již není platné v jazyce Visual Basic .Net.
Oprava této chyby
Nastavte
Option Strict
naOn
začátek souboru následující kód:Option Strict On
Při spuštění projektu se v seznamu chyb zobrazí chyba kompilátoru pro libovolnou zadanou proměnnou bez typu.
Pokud nechcete povolit
Option Strict
, vyhledejte v kódu všechny proměnné, které byly zadány bez typu (Dim x
místoDim x As String
) a přidejte do deklarace zamýšlený typ.Ujistěte se, že nepoužíváte odkaz na proměnnou objektu, která byla nastavena na
Nothing
hodnotu . Vyhledejte klíčové slovoNothing
a upravte kód tak, aby nebyl objekt nastavený,Nothing
dokud na něj neodkazujete.Před přístupem k proměnným pole se ujistěte, že jsou všechny proměnné pole dimenze. Dimenze můžete přiřadit při prvním vytvoření pole (
Dim x(5) As String
místoDim x() As String
) nebo pomocí klíčovéhoReDim
slova nastavit dimenze pole před prvním přístupem.Ujistěte se, že
With
je blok inicializován spuštěním vstupníhoWith
bodu příkazu.