Pastaba: Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė yra išjungta, jei "Microsoft Jet Expression Service" veikia smėlio dėžės režimu, kuris neleidžia įvertinti galimai nesaugių reiškinių. Jei reikia daugiau informacijos apie smėlio dėžės režimą, žinyne ieškokite "smėlio dėžės režimas".
Užtikrina vykdymą, kad operacinė sistema galėtų apdoroti kitus įvykius.
Sintaksė
DoEvents ( )
Pastabos
Funkcija DoEvents pateikia sveikasis skaičius, nurodantis atidarytų formų skaičių atskirose "Microsoft Visual Basic" versijose, pvz., "Visual Basic", "Professional Edition". DoEvents pateikia nulį visose kitose programose.
DoEvents perduoda valdymą operacinei sistemai. Valdiklis grąžinamas, kai operacinė sistema baigia apdoroti įvykius eilėje ir išsiunčiami visi siuntimo raktai .
DoEvents yra naudingiausia paprastiems dalykams, pvz., leisti vartotojui atšaukti procesą po to, kai jis jau prasidėjo, pvz., ieškant failo. Dėl ilgai trunkančių procesų, derlius procesorius yra geriau atlikti naudojant laikmatį arba perduoti užduotį į ActiveX EXE komponentas. Pastaruoju atveju užduotis gali tęstis visiškai nepriklausomai nuo jūsų programos, o operacinė sistema pasirūpina daugiaprocesiu atlikimu ir laiko kopijavimu.
Bet kuriuo metu, kai laikinai pateikiate apdorojimo priemonei per įvykio procedūrą, įsitikinkite, kad procedūra dar kartą nevykdomas iš kitos kodo dalies prieš grąžinant pirmąjį skambutį; tai gali sukelti neprognozuojamus rezultatus. Be to, nenaudokite DoEvents , jei kitos programos galėtų nenumatytai sąveikauti su jūsų procedūra tuo metu, kai jūs pateikė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 vykdymas išeitų į operacinę sistemą kas 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.