Opomba: V tej temi opisana funkcija, metoda, predmet ali lastnost, je onemogočena, če se izvaja storitev Microsoft Jet Expression Service v načinu peskovnika, ki preprečuje vrednotenje morebitno nevarnih izrazov. Za več informacij o načinu peskovnika poiščite »način peskovnika« v pomoči.
Daje prednost izvajanju, tako da lahko operacijski sistem obdela druge dogodke.
Sintaksa
DoEvents )
Opombe
Funkcija DoEvents vrne celo število, ki predstavlja število odprtih obrazcev v samostojnih različicah programa Microsoft Visual Basic, na primer Visual Basic, Professional Edition. Funkcija DoEvents v vseh drugih programih vrne nič.
Funkcija DoEvents preloži nadzor na operacijski sistem. Nadzor se povrne, ko operacijski sistem konča obdelavo dogodkov v svoji čakalni vrsti in so poslani vsi ključi v čakalni vrsti SendKeys.
Funkcija DoEvents je najbolj uporabna za preproste stvari, kot je omogočanje uporabniku, da prekliče postopek, ko se je ta že začel izvajati, na primer pri iskanju datoteke. Za dolge procese se dajanje prednosti procesorju bolje obnese z uporabo časovnika ali dodelitvijo opravila komponenti EXE kontrolnika ActiveX. V zadnjem primeru se opravilo lahko nadaljuje popolnoma neodvisno od programa, operacijski sistem pa poskrbi za večopravilnost.
Kadar koli v dogodkovni proceduri začasno donosite obdelovalcu, se prepričajte, da se procedura ne izvede znova iz drugega dela kode, preden se prvi klic vrne; to lahko povzroči nepredvidljive rezultate. Poleg tega ne uporabljajte funkcije DoEvents , če bi druge aplikacije morda lahko komunicirali z vašim postopkom na nepredvidene načine v času, ko ste dali svoj nadzor.
Primer
Opomba: V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu z modulom VBA, izberite Vsebina za razvijalce na spustnem seznamu ob možnosti Iskanje in v iskalno polje vnesite enega ali več izrazov.
V tem primeru se funkcija DoEvents uporablja za povzročitev dajanja prednosti operacijskemu sistemu enkrat na vsakih 1000 ponovitev v zanki. Funkcija DoEvents vrne število odprtih obrazcev v programu Visual Basic, vendar samo, če je gostiteljski program 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.