Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przywoływana jest nieprawidłowa zmienna obiektu. Ten błąd może wystąpić z kilku powodów:
Zmienna została zadeklarowana bez określania typu. Jeśli zmienna jest zadeklarowana bez określania typu, domyślnie ma typ
Object.Na przykład zmienna zadeklarowana
Dim xprzy użyciu będzie typuObject;zmienna zadeklarowana zDim x As Stringtypem będzie typuString.Wskazówka
Instrukcja
Option Strictnie zezwala na niejawne wpisywanie, które powodujeObjecttyp. Jeśli pominiesz typ, wystąpi błąd czasu kompilacji. Zobacz opcję Strict, instrukcja.Próbujesz odwołać się do obiektu, który został ustawiony na
Nothing.Próbujesz uzyskać dostęp do elementu zmiennej tablicowej, która nie została prawidłowo zadeklarowana.
Na przykład tablica zadeklarowana jako
products() As Stringspowoduje wyzwolenie błędu, jeśli spróbujesz odwołać się do elementu tablicyproducts(3) = "Widget". Tablica nie ma żadnych elementów i jest traktowana jako obiekt.Próbujesz uzyskać dostęp do kodu w
With...End Withbloku przed zainicjowaniem bloku. BlokWith...End Withmusi zostać zainicjowany przez wykonanie punktu wejścia instrukcjiWith.
Uwaga / Notatka
We wcześniejszych wersjach języka Visual Basic lub VBA ten błąd został również wyzwolony przez przypisanie wartości do zmiennej bez użycia słowa kluczowego Set (x = "name" zamiast Set x = "name"). Słowo Set kluczowe nie jest już prawidłowe w języku Visual Basic .Net.
Aby naprawić ten błąd
Ustaw
Option Strictwartość naOn, dodając następujący kod na początku pliku:Option Strict OnPo uruchomieniu projektu w liście błędów zostanie wyświetlony błąd kompilatora dla dowolnej zmiennej określonej bez typu.
Jeśli nie chcesz włączać
Option Strict, wyszukaj w kodzie dowolne zmienne, które zostały określone bez typu (Dim xzamiastDim x As String) i dodaj zamierzony typ do deklaracji.Upewnij się, że nie odwołujesz się do zmiennej obiektu, która została ustawiona na
Nothing. Wyszukaj słowo kluczoweNothingi zrewiduj kod, tak aby obiekt nie został ustawiony doNothingmomentu odwołania się do niego.Przed uzyskaniem dostępu do nich upewnij się, że wszystkie zmienne tablicowe są wymiarami. Wymiar można przypisać podczas pierwszego tworzenia tablicy (
Dim x(5) As StringzamiastDim x() As String), lub użyćReDimsłowa kluczowego , aby ustawić wymiary tablicy przed pierwszym uzyskaniem do niej dostępu.Upewnij się, że
Withblok został zainicjowany przez wykonanie punktu wejścia instrukcjiWith.