Napomena: Funkcija, metoda, objekt ili svojstvo opisano u ovoj temi onemogućeno je ako je Microsoft Jet Expression Service pokrenut u načinu rada sigurnosne ograde, što onemogućuje procjenu potencijalno nesigurnih izraza. Dodatne informacije o načinu rada sigurnosne ograde potražite u pomoći u odjeljku "način rada s memorijom za testiranje".

Izvršavanje prinosa da bi operacijski sustav obradio 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 su Visual Basic, Professional Edition. DoEvents vraća nulu u svim drugim aplikacijama.

DoEvents prosljeđuje kontrolu operacijskom sustavu. Kontrola se vraća nakon što operacijski sustav dovrši obradu događaja u redu čekanja i svi ključevi u redu čekanja SendKeys su poslani.

DoEvents je najkorisniji za jednostavne stvari, kao što je omogućivanje korisniku da otkaže proces nakon pokretanja, primjerice za pretraživanje datoteke. Za dugotrajne procese, bolje se postiže prinos procesora pomoću mjerača vremena ili delegiranja zadatka na ActiveX EXE komponentu. U potonjem slučaju, zadatak može nastaviti potpuno neovisno o vašoj aplikaciji, a operacijski sustav se brine o multitasking i vrijeme rezanje.

Svaki put kada privremeno popustite procesoru unutar postupka događaja, prije nego što se prvi poziv vrati, provjerite ne izvršava li se postupak ponovno iz drugog dijela koda; to može uzrokovati nepredvidljive rezultate. Osim toga, nemojte koristiti DoEvents ako druge aplikacije mogu komunicirati s vašim postupkom na nepredviđene načine tijekom vremena kada ste predali 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 funkcija DoEvents koristi da bi se izvršavanje dogradio operacijskom sustavu jednom svakih 1000 iteracija petlje. DoEvents vraća broj otvorenih obrazaca programa 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, OpenFormsFor 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 IfNext I    ' Increment loop counter.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.