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 xpomocí by byla typuObject;proměnná deklarovanáDim x As Strings typem typuString.Tip
Příkaz
Option Strictnepovoluje 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 Stringaktivuje 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 Withrámci bloku.With...End WithBlok musí být inicializován spuštěním vstupníhoWithbodu 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 SetSet 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 StrictnaOnzačátek souboru následující kód:Option Strict OnPř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 xmí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
Nothinghodnotu . Vyhledejte klíčové slovoNothinga upravte kód tak, aby nebyl objekt nastavený,Nothingdokud 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 StringmístoDim x() As String) nebo pomocí klíčovéhoReDimslova nastavit dimenze pole před prvním přístupem.Ujistěte se, že
Withje blok inicializován spuštěním vstupníhoWithbodu příkazu.