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. Questo errore può verificarsi per diversi motivi:
Una variabile è stata dichiarata senza specificare un tipo. Se una variabile viene dichiarata senza specificare un tipo, per impostazione predefinita viene digitata
Object.Ad esempio, una variabile dichiarata con
Dim xsarebbe di tipoObject;una variabile dichiarata conDim x As Stringsarebbe di tipoString.Suggerimento
L'istruzione
Option Strictnon consente la digitazione implicita che genera unObjecttipo. 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 Stringattiverà 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
With...End Withblocco prima che il blocco sia stato inizializzato. È necessario inizializzare unWith...End Withblocco eseguendo il punto di ingresso dell'istruzioneWith.
Annotazioni
Nelle versioni precedenti di Visual Basic o VBA, questo errore è stato attivato anche assegnando un valore a una variabile senza usare la Set parola chiave (x = "name" anziché Set x = "name"). La Set parola chiave non è più valida in Visual Basic .Net.
Per correggere l'errore
Impostare
Option StrictsuOnaggiungendo il codice seguente all'inizio del file:Option Strict OnQuando 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 xanziché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 chiaveNothingnel codice e rivedere il codice in modo che l'oggetto non sia impostato suNothingfino a quando non è stato 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 StringanzichéDim x() As String) oppure usare laReDimparola chiave per impostare le dimensioni della matrice prima di accedervi.Assicurarsi che il
Withblocco sia inizializzato eseguendo il punto di ingresso dell'istruzioneWith.