Aracılığıyla paylaş


Nesne değişkeni veya Ile blok değişkeni ayarlanmadı

Geçersiz bir nesne değişkenine başvurulmakta. Bu hata çeşitli nedenlerle oluşabilir:

  • Bir değişken bir tür belirtilmeden bildirildi. Bir değişken bir tür belirtilmeden bildirilirse, varsayılan olarak türü Objectolur.

    Örneğin, ile Dim xObject; bildirilen bir değişken ile bildirilen Dim x As String değişken türünde Stringolabilir.

    Tip

    deyimi Option Strict , bir Object türe neden olan örtük yazmaya izin vermemektedir. Türü atlarsanız derleme zamanı hatası oluşur. Bkz. Option Strict Deyimi.

  • olarak ayarlanmış bir nesneye başvurmaya Nothingçalışıyorsunuz.

  • Doğru şekilde bildirılmayan bir dizi değişkeninin öğesine erişmeye çalışıyorsunuz.

    Örneğin, olarak products() As String bildirilen bir dizi, dizisinin bir öğesine products(3) = "Widget"başvurmaya çalışırsanız hatayı tetikler. Dizide öğe yoktur ve nesne olarak değerlendirilir.

  • Blok başlatılmadan önce bir With...End With blok içindeki koda erişmeye çalışıyorsunuz. With...End With Deyim giriş noktası yürütülerek With bir blok başlatılmalıdır.

Uyarı

Visual Basic veya VBA'nın önceki sürümlerinde, bu hata bir değişkene anahtar sözcüğü (x = "name"yerineSet x = "name") kullanılmadan Set bir değer atanarak da tetiklendi. Set Visual Basic .Net'te anahtar sözcük artık geçerli değil.

Bu hatayı düzeltmek için

  1. On Dosyasının başına aşağıdaki kodu ekleyerek olarak ayarlayınOption Strict:

    Option Strict On
    

    Projeyi çalıştırdığınızda, tür olmadan belirtilen herhangi bir değişken için Hata Listesi'nde bir derleyici hatası görüntülenir.

  2. 'yi etkinleştirmek Option Strictistemiyorsanız, kodunuzda türüDim x ( yerine Dim x As String) olmadan belirtilen değişkenleri arayın ve istenen türü bildirime ekleyin.

  3. olarak ayarlanmış Nothingbir nesne değişkenine başvurmadığınızdan emin olun. kodunuzda anahtar sözcüğünü Nothingarayın ve başvuruda bulunana kadar nesnenin olarak ayarlanmaması için Nothing kodunuzu düzeltin.

  4. Tüm dizi değişkenlerine erişmeden önce boyutlandırıldığından emin olun. Diziyi ilk oluşturduğunuzda (Dim x(5) As String yerine Dim x() As String) bir boyut atayabilir veya anahtar sözcüğünü kullanarak ReDim diziye ilk erişmeden önce boyutları ayarlayabilirsiniz.

  5. Deyimi giriş noktasını yürüterek bloğunuzun With başlatıldığından With emin olun.

Ayrıca bakınız