Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Viene fatto riferimento a una variabile oggetto non valida. L'errore può essere determinato da numerose cause:
Una variabile è stata dichiarata senza specificare un tipo. Se una variabile viene dichiarata senza specificare un tipo, per impostazione predefinita viene digitato
Object
.Ad esempio, una variabile dichiarata con
Dim x
sarebbe di tipoObject;
e una variabile dichiarata conDim x As String
sarebbe di tipoString
.Suggerimento
L'istruzione
Option Strict
non consente la digitazione implicita che genera un tipoObject
. Se si omette il tipo, si verificherà un errore in fase di compilazione. Vedere Istruzione Option Strict.Si sta tentando di fare riferimento a un oggetto impostato su
Nothing
.Si sta tentando di accedere a un elemento di una variabile di matrice non dichiarata correttamente.
Ad esempio, una matrice dichiarata come
products() As String
attiverà l'errore se si tenta di fare riferimento a un elemento della matriceproducts(3) = "Widget"
. La matrice non dispone di elementi e viene considerata come un oggetto.Si sta tentando di accedere al codice all'interno di un blocco
With...End With
prima che il blocco sia stato inizializzato. È necessario inizializzare un bloccoWith...End With
eseguendo il punto di ingresso dell'istruzioneWith
.
Nota
Nelle versioni precedenti di Visual Basic o VBA, questo errore veniva attivato anche assegnando un valore a una variabile senza usare la parola chiave Set
(x = "name"
anziché Set x = "name"
). La parola chiave Set
non è più valida in Visual Basic .Net.
Per correggere l'errore
Impostare
Option Strict
suOn
aggiungendo il codice seguente all'inizio del file:Option Strict On
Quando si esegue il progetto, viene visualizzato un errore del compilatore nell'Elenco errori per qualsiasi variabile specificata senza un tipo.
Se non si vuole abilitare
Option Strict
, cercare nel codice le variabili specificate senza un tipo (Dim x
anzichéDim x As String
) e aggiungere il tipo desiderato alla dichiarazione.Assicurarsi di non fare riferimento a una variabile oggetto impostata su
Nothing
. Cercare la parola chiaveNothing
nel codice e rivedere il codice in modo che l'oggetto non sia impostato suNothing
fino a quando non vi viene fatto riferimento.Assicurarsi che tutte le variabili di matrice vengano dimensionate prima di accedervi. È possibile assegnare una dimensione quando si crea per la prima volta la matrice (
Dim x(5) As String
anzichéDim x() As String
) oppure usare la parola chiaveReDim
per impostare le dimensioni della matrice prima di accedervi.Assicurarsi che il blocco
With
sia inizializzato eseguendo il punto di ingresso dell'istruzioneWith
.