Napomena
Funkcija, metoda, objekt ili svojstvo opisani u ovoj temi onemogućeni su ako je servis izraza Microsoft Jet pokrenut u načinu rada s memorijom za testiranje, što sprječava procjenu potencijalno nesigurnih izraza. Dodatne informacije o načinu rada s memorijom za testiranje potražite u pomoći "način rada s memorijom za testiranje".
Vraća izvršenje tako da operacijski sustav može obraditi druge događaje.
Sintaksa
DoEvents( )
Napomene
Funkcija DoEvents vraća cijeli broj koji predstavlja broj otvorenih obrazaca u samostalnim verzijama programa Microsoft Visual Basic, kao što je Visual Basic Professional Edition. DoEvents vraća nulu u svim ostalim aplikacijama.
DoEvents prenosi kontrolu na operacijski sustav. Kontrola se vraća nakon što operacijski sustav završi obradu događaja u redu čekanja i nakon što se pošalju svi ključevi iz reda čekanja SendKeys .
DoEvents je najkorisniji za jednostavnije radnje, kao što je omogućavanje korisniku da odustane od procesa nakon što je započeo, na primjer, traženje datoteke. Za dugotrajne procese, popuštanje procesoru bolje je postići korištenjem mjerača vremena ili delegiranjem zadatka ActiveX EXE komponenti. U potonjem slučaju, zadatak se može nastaviti potpuno neovisno o vašoj aplikaciji, a operativni sustav se brine za multitasking i rezanje vremena.
Svaki put kada privremeno popustite procesoru unutar postupka događaja, provjerite ne izvršava li se postupak ponovno iz drugog dijela koda prije nego što se prvi poziv vrati; To može dovesti do nepredvidivih rezultata. Osim toga, nemojte koristiti DoEvents ako bi druge aplikacije mogle stupiti u interakciju s vašim postupkom na nepredviđene načine tijekom vremena kada ste prepustili kontrolu.
Primjer
Napomena
Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.
U ovom se primjeru koristi funkcija DoEvents da bi se izvršenje vratilo operacijskom sustavu svakih 1000 iteracija petlje. DoEvents vraća broj otvorenih obrazaca jezika Visual Basic, ali samo kada je glavna aplikacija 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.