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.
Auf eine ungültige Objektvariable wird verwiesen. Dieser Fehler kann aus mehreren Gründen auftreten:
Eine Variable wurde ohne Angabe eines Typs deklariert. Wenn eine Variable ohne Angabe eines Typs deklariert wird, wird standardmäßig typisiert
Object.Eine variable, die
Dim xdeklariert wurde, wäre z. B. vom TypObject;einer variablen, die mitDim x As String"typeString" deklariert wurde.Tipp
Die
Option StrictAnweisung verbietet die implizite Eingabe, die zu einemObjectTyp führt. Wenn Sie den Typ weglassen, tritt ein Kompilierungszeitfehler auf. Siehe Option Strict-Anweisung.Sie versuchen, auf ein Objekt zu verweisen, auf das festgelegt
Nothingwurde.Sie versuchen, auf ein Element einer Arrayvariablen zuzugreifen, die nicht ordnungsgemäß deklariert wurde.
Ein array, das deklariert wird,
products() As Stringlöst beispielsweise den Fehler aus, wenn Sie versuchen, auf ein Element des Arraysproducts(3) = "Widget"zu verweisen. Das Array hat keine Elemente und wird als Objekt behandelt.Sie versuchen, auf Code in einem
With...End WithBlock zuzugreifen, bevor der Block initialisiert wurde. EinWith...End WithBlock muss durch Ausführen des Einstiegspunkts derWithAnweisung initialisiert werden.
Hinweis
In früheren Versionen von Visual Basic oder VBA wurde dieser Fehler auch durch Zuweisen eines Werts zu einer Variablen ausgelöst, ohne das Set Schlüsselwort (x = "name" anstelle von Set x = "name") zu verwenden. Das Set Schlüsselwort ist in Visual Basic .Net nicht mehr gültig.
So beheben Sie diesen Fehler
Legen Sie diesen
Option StrictOnWert fest, indem Sie den folgenden Code am Anfang der Datei hinzufügen:Option Strict OnWenn Sie das Projekt ausführen, wird in der Fehlerliste für jede Variable, die ohne Typ angegeben wurde, ein Compilerfehler angezeigt.
Wenn Sie den Code nicht aktivieren
Option Strictmöchten, suchen Sie den Code nach Variablen, die ohne einen Typ (Dim xanstelle vonDim x As String) angegeben wurden, und fügen Sie der Deklaration den beabsichtigten Typ hinzu.Stellen Sie sicher, dass Sie nicht auf eine Objektvariable verweisen, die auf ".
NothingDurchsuchen Sie Ihren Code nach dem SchlüsselwortNothing, und überarbeiten Sie den Code, sodass das Objekt erst festgelegtNothingist, nachdem Sie darauf verwiesen haben.Stellen Sie sicher, dass alle Arrayvariablen dimensioniert sind, bevor Sie darauf zugreifen. Sie können entweder eine Dimension zuweisen, wenn Sie das Array (
Dim x(5) As Stringanstelle vonDim x() As String) erstellen, oder das Schlüsselwort verwendenReDim, um die Dimensionen des Arrays festzulegen, bevor Sie zuerst darauf zugreifen.Stellen Sie sicher, dass der
WithBlock initialisiert ist, indem Sie den Einstiegspunkt derWithAnweisung ausführen.