Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Es wird auf eine ungültige Objektvariable verwiesen. Dieser Fehler kann mehrere Ursachen haben:
Eine Variable wurde ohne Angabe eines Typs deklariert. Wenn eine Variable deklariert wird, ohne einen Typ anzugeben, wird standardmäßig der Typ
Object
verwendet.Eine Variable, die mit
Dim x
deklariert wurde, wäre beispielsweise vom TypObject;
, eine Variable, die mitDim x As String
deklariert wurde, vom TypString
.Tipp
Die
Option Strict
-Anweisung lässt die implizite Eingabe, die zu einemObject
-Typ führt, nicht zu. Wenn Sie den Typ weglassen, tritt ein Kompilierzeitfehler auf. Informationen hierzu finden Sie unter Option Strict-Anweisung.Sie versuchen, auf ein Objekt zu verweisen, das auf
Nothing
festgelegt wurde.Sie versuchen, auf ein Element einer Arrayvariablen zuzugreifen, das nicht ordnungsgemäß deklariert wurde.
Beispielsweise löst ein Array, das als
products() As String
deklariert wurde, den Fehler aus, wenn Sie versuchen, auf ein Element des Arraysproducts(3) = "Widget"
zu verweisen. Das Array verfügt über keine Elemente und wird als Objekt behandelt.Sie versuchen, innerhalb eines
With...End With
-Blocks auf Code zuzugreifen, bevor der Block initialisiert wurde. EinWith...End With
-Block muss initialisiert werden, indem der AnweisungseinstiegspunktWith
ausgeführt wird.
Hinweis
In früheren Versionen von Visual Basic oder VBA wurde dieser Fehler auch ausgelöst, indem einer Variablen ein Wert zugewiesen wurde, ohne das Schlüsselwort Set
(x = "name"
anstelle von Set x = "name"
) zu verwenden. Das Schlüsselwort Set
ist in Visual Basic .NET nicht mehr gültig.
So beheben Sie diesen Fehler
Fügen Sie am Anfang der Datei folgenden Code hinzu, um
Option Strict
aufOn
festzulegen:Option Strict On
Wenn Sie das Projekt ausführen, wird in der Fehlerliste für jede Variable, die ohne Typ angegeben wurde, ein Compilerfehler angezeigt.
Wenn Sie
Option Strict
nicht aktivieren möchten, suchen Sie in Ihrem Code nach Variablen, die ohne Typ (Dim x
anstelle vonDim x As String
) angegeben wurden, und fügen Sie der Deklaration den gewünschten Typ hinzu.Stellen Sie sicher, dass Sie nicht auf eine Objektvariable verweisen, die auf
Nothing
festgelegt wurde. Suchen Sie in Ihrem Code nach dem SchlüsselwortNothing
, und überarbeiten Sie den Code, damit das Objekt erst aufNothing
festgelegt wird, nachdem Sie darauf verwiesen haben.Stellen Sie sicher, dass Arrayvariablen dimensioniert sind, bevor Sie darauf zugreifen. Sie können entweder eine Dimension zuweisen, wenn Sie das Array zum ersten Mal erstellen (
Dim x(5) As String
anstelle vonDim x() As String
), oder das SchlüsselwortReDim
verwenden, um die Dimensionen des Arrays festzulegen, bevor Sie zum ersten Mal darauf zugreifen.Stellen Sie sicher, dass Ihr
With
-Block initialisiert wird, indem Sie den AnweisungseinstiegspunktWith
ausführen.