Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat Anda meneruskan satu atau beberapa argumen ke prosedur, setiap argumen sesuai dengan elemen pemrograman yang mendasar dalam kode panggilan. Anda dapat meneruskan nilai elemen yang mendasar ini, atau referensi padanya. Ini dikenal sebagai mekanisme peralihan.
Meneruskan menurut Nilai
Anda meneruskan argumen menurut nilai dengan menentukan kata kunci ByVal untuk parameter yang sesuai dalam definisi prosedur. Saat Anda menggunakan mekanisme passing ini, Visual Basic menyalin nilai elemen pemrograman yang mendasar ke dalam variabel lokal dalam prosedur. Kode prosedur tidak memiliki akses ke elemen yang mendasar dalam kode panggilan.
Meneruskan Berdasarkan Referensi
Anda meneruskan argumen berdasarkan referensi dengan menentukan kata kunci ByRef untuk parameter yang sesuai dalam definisi prosedur. Saat Anda menggunakan mekanisme passing ini, Visual Basic memberikan prosedur referensi langsung ke elemen pemrograman dasar dalam kode panggilan.
Mekanisme Passing dan Jenis Elemen
Pilihan mekanisme passing tidak sama dengan klasifikasi jenis elemen dasar. Pewarisan nilai atau referensi mengacu pada apa yang diberikan Visual Basic kepada kode prosedur. Jenis nilai atau jenis referensi mengacu pada bagaimana elemen pemrograman disimpan dalam memori.
Namun, mekanisme pengoperasian dan jenis elemen saling terkait. Nilai jenis referensi adalah penunjuk ke data di tempat lain dalam memori. Ini berarti bahwa ketika Anda meneruskan jenis referensi menurut nilai, kode prosedur memiliki penunjuk ke data elemen yang mendasar, meskipun tidak dapat mengakses elemen dasar itu sendiri. Misalnya, jika elemen adalah variabel array, kode prosedur tidak memiliki akses ke variabel itu sendiri, tetapi dapat mengakses anggota array.
Kemampuan untuk Memodifikasi
Ketika Anda meneruskan elemen yang tidak dapat dimodifikasi sebagai argumen, prosedur tidak pernah dapat memodifikasinya dalam kode panggilan, apakah itu diteruskan ByVal
atau ByRef
.
Untuk elemen yang dapat dimodifikasi, tabel berikut ini meringkas interaksi antara jenis elemen dan mekanisme passing.
Jenis elemen | Berlalu ByVal |
Berlalu ByRef |
---|---|---|
Tipe nilai (hanya berisi nilai) | Prosedur tidak dapat mengubah variabel atau anggotanya. | Prosedur ini dapat mengubah variabel dan anggotanya. |
Jenis referensi (berisi penunjuk ke kelas atau instans struktur) | Prosedur ini tidak dapat mengubah variabel tetapi dapat mengubah anggota dari instans yang ditunjukkannya. | Prosedur ini dapat mengubah variabel dan anggota instans yang ditujunya. |
Lihat juga
- Prosedur
- Parameter prosedur dan Argumen
- Cara: Meneruskan Argumen ke Prosedur
- Meneruskan Argumen menurut Nilai dan berdasarkan Referensi
- Perbedaan Antara Argumen yang Dapat Dimodifikasi dan Tidak Dapat Dimodifikasi
- Cara: Mengubah Nilai Argumen Prosedur
- Cara: Melindungi Argumen Prosedur Terhadap Perubahan Nilai
- Cara: Memaksa Argumen untuk Diteruskan sebagai Nilai
- Meneruskan Argumen menurut Posisi dan berdasarkan Nama
- Jenis Nilai dan Tipe Referensi