Pastaba
Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė išjungiama, jei "„Microsoft“ Jet" reiškinių tarnyba veikia smėlio dėžės režimu, kuris neleidžia įvertinti potencialiai nesaugių reiškinių. Daugiau informacijos apie smėlio dėžės režimą ieškokite žinyne "smėlio dėžės režimas".
Suteikia vykdymą, kad operacinė sistema galėtų apdoroti kitus įvykius.
Sintaksė
DoEvents( )
Pastabos
Funkcija DoEvents pateikia sveikąjį skaičių, nurodantį atidarytų formų skaičių atskirose "„Microsoft“ Visual Basic" versijose, pvz., "Visual Basic, Professional Edition". "DoEvents" grąžina nulį visose kitose programose.
"DoEvents" perduoda valdymą operacinei sistemai. Valdymas grąžinamas operacinei sistemai baigus apdoroti įvykius eilėje ir išsiuntus visus " SendKeys" eilėje esančius raktus.
"DoEvents " naudingiausia paprastiems dalykams, pvz., leidžiant vartotojui atšaukti procesą po to, kai jis buvo pradėtas, pvz., ieškant failo. Ilgai trunkantiems procesams geriau pasiduoti procesoriui naudojant laikmatį arba perduodant užduotį "ActiveX EXE" komponentui. Pastaruoju atveju užduotis gali būti tęsiama visiškai nepriklausomai nuo jūsų programos, o operacinė sistema pasirūpina kelių užduočių atlikimu ir laiko pjaustymu.
Kiekvieną kartą, kai laikinai pasiduodate procesoriui įvykio procedūros metu, įsitikinkite, kad procedūra nebus vykdoma iš kitos kodo dalies prieš grįžtant pirmajam skambučiui; Tai gali lemti nenuspėjamus rezultatus. Be to, nenaudokite "DoEvents", jei kitos programos gali nenumatytais būdais sąveikauti su jūsų procedūra tuo metu, kai perdavėte kontrolę.
Pavyzdys
Pastaba
Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Šiame pavyzdyje naudojama funkcija "DoEvents ", kad operacinei sistemai vykdymas pasibaigtų kartą per 1000 ciklo iteracijų. "DoEvents" grąžina atidarytų "Visual Basic" formų skaičių, bet tik tada, kai pagrindinė programa yra "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.