Bagikan melalui


Variabel objek atau Dengan variabel blok tidak diatur

Variabel objek yang tidak valid sedang dirujuk. Kesalahan ini dapat terjadi karena beberapa alasan:

  • Variabel dideklarasikan tanpa menentukan jenis. Jika variabel dideklarasikan tanpa menentukan jenis, variabel default akan mengetik Object.

    Misalnya, variabel yang dideklarasikan dengan Dim x akan berjenis Object; variabel yang dideklarasikan dengan Dim x As String akan berjenis String.

    Tip

    Pernyataan melarang Option Strict pengetikan implisit yang menghasilkan Object jenis. Jika Anda menghilangkan jenis, kesalahan waktu kompilasi akan terjadi. Lihat Pernyataan Ketat Opsi.

  • Anda mencoba mereferensikan objek yang telah diatur ke Nothing.

  • Anda mencoba mengakses elemen variabel array yang tidak dideklarasikan dengan benar.

    Misalnya, array yang dinyatakan sebagai products() As String akan memicu kesalahan jika Anda mencoba mereferensikan elemen array products(3) = "Widget". Array tidak memiliki elemen dan diperlakukan sebagai objek.

  • Anda mencoba mengakses kode dalam With...End With blok sebelum blok diinisialisasi. Blok With...End With harus diinisialisasi dengan menjalankan With titik masuk pernyataan.

Nota

Dalam versi Visual Basic atau VBA sebelumnya, kesalahan ini juga dipicu dengan menetapkan nilai ke variabel tanpa menggunakan Set kata kunci (x = "name" bukan Set x = "name"). Kata Set kunci tidak lagi valid di Visual Basic .Net.

Untuk memperbaiki kesalahan ini

  1. Atur Option Strict ke On dengan menambahkan kode berikut ke awal file:

    Option Strict On
    

    Saat Anda menjalankan proyek, kesalahan pengkompilasi akan muncul di Daftar Kesalahan untuk variabel apa pun yang ditentukan tanpa jenis.

  2. Jika Anda tidak ingin mengaktifkan Option Strict, cari kode Anda untuk variabel apa pun yang ditentukan tanpa jenis (Dim x bukan Dim x As String) dan tambahkan jenis yang dimaksudkan ke deklarasi.

  3. Pastikan Anda tidak merujuk ke variabel objek yang telah diatur ke Nothing. Cari kode Anda untuk kata kunci Nothing, dan revisi kode Anda sehingga objek tidak diatur ke Nothing sampai setelah Anda mereferensikannya.

  4. Pastikan bahwa setiap variabel array di-dimensi sebelum Anda mengaksesnya. Anda dapat menetapkan dimensi saat pertama kali membuat array (Dim x(5) As String bukan Dim x() As String), atau menggunakan ReDim kata kunci untuk mengatur dimensi array sebelum Anda terlebih dahulu mengaksesnya.

  5. Pastikan blok Anda With diinisialisasi dengan menjalankan With titik masuk pernyataan.

Lihat juga