Funkcija DoEvents

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.

Vsakič ko daste začasno prednost procesorju znotraj dogodkovne procedure, preverite, ali ni procedure znova izvedel drug del vaše kode, preden bo vrnjen prvi priklic; zaradi tega bi lahko prišlo do nepričakovanih rezultatov. Poleg tega funkcije DoEvents ne uporabljajte, če obstaja možnost, da bi drugi programi lahko nepredvidljivo komunicirali s proceduro, medtem ko je nadzor preložen.

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.
Razširite svoja znanja
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×