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 defaultnya akan ke jenis Object.

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

    Tip

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

  • Anda mencoba mereferensikan objek yang telah diatur ke Nothing.

  • Anda mencoba untuk 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 blok With...End With sebelum blok telah diinisialisasi. Blok With...End With harus diinisialisasi dengan mengeksekusi titik masuk pernyataan With.

Catatan

Dalam versi Visual Basic atau VBA yang lebih lama, kesalahan ini juga dipicu dengan menetapkan nilai ke variabel tanpa menggunakan Set kata kunci (x = "name" bukan Set x = "name"). Kata kunci Set 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 kompiler 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 Anda sudah mereferensikannya.

  4. Pastikan bahwa variabel array apa pun telah diketahui dimensinya sebelum Anda mengakses. Anda dapat menetapkan dimensi saat pertama kali membuat array (Dim x(5) As String bukan Dim x() As String), atau menggunakan kata kunci ReDim untuk mengatur dimensi array sebelum Anda engakses pertama kali.

  5. Pastikan blok With Anda iinisialisasi dengan menjalankan itik masuk pernyataan With.

Lihat juga