Catatan: Fungsi, metode, objek, atau properti yang dijelaskan dalam topik ini dinonaktifkan jika Layanan Ekspresi Microsoft Jet berjalan dalam mode kotak pasir, yang mencegah evaluasi ekspresi yang berpotensi tidak aman. Untuk informasi selengkapnya tentang mode kotak pasir, cari "mode kotak pasir" di Bantuan.
Menghasilkan eksekusi sehingga sistem operasi dapat memproses kejadian lainnya.
Sintaks
DoEvents ( )
Keterangan
Fungsi DoEvents mengembalikan Bilangan Bulat yang mewakili jumlah formulir terbuka dalam versi mandiri Microsoft Visual Basic, seperti Visual Basic, Professional Edition. DoEvents mengembalikan nol di semua aplikasi lainnya.
DoEvents melewati kontrol ke sistem operasi. Kontrol dikembalikan setelah sistem operasi selesai memproses kejadian dalam antreannya dan semua kunci dalam antrean SendKeys telah dikirim.
DoEvents paling berguna untuk hal-hal sederhana seperti memungkinkan pengguna membatalkan proses setelah proses dimulai, misalnya pencarian untuk file. Untuk proses yang berjalan lama, menghasilkan prosesor lebih baik diselesaikan dengan menggunakan Timer atau mendelegasikan tugas ke komponen ActiveX EXE. Dalam kasus terakhir, tugas dapat terus sepenuhnya independen dari aplikasi Anda, dan sistem operasi mengurus multitugas dan pemotongan waktu.
Setiap kali Anda menyerah sementara ke prosesor dalam prosedur kejadian, pastikan prosedur tidak dijalankan lagi dari bagian lain kode Anda sebelum panggilan pertama kembali; hal ini dapat menyebabkan hasil yang tidak dapat diprediksi. Selain itu, jangan gunakan DoEvent jika aplikasi lain mungkin dapat berinteraksi dengan prosedur Anda dengan cara yang tidak terduga selama Anda memiliki kontrol yang dihasilkan.
Contoh
Catatan: Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.
Contoh ini menggunakan fungsi DoEvents untuk menyebabkan eksekusi menghasilkan sistem operasi sekali setiap 1000 perulangan pengulangan. DoEvents mengembalikan jumlah formulir Visual Basic yang terbuka, tetapi hanya ketika aplikasi host adalah Visual Basic.
' Create a variable to hold number of
' Visual Basic forms loaded and visible. Dim I, OpenForms For I = 1 To 150000 ' Start loop. If I Mod 1000 = 0 Then ' If loop has repeated ' 1000 times. OpenForms = DoEvents ' Yield to operating system. End If Next I ' Increment loop counter.