Funkcia DoEvents

Poznámka : Funkcia, metóda, objekt alebo vlastnosť, ktoré sú popísané v tejto téme, sú vypnuté, ak je služba Microsoft Jet Expression Service spustená v režime karantény, ktorý zabraňuje vo vyhodnocovaní možných nebezpečných výrazov. Ďalšie informácie o režime karantény nájdete vyhľadaním výrazu „režim karantény“ v Pomocníkovi.

Prenechá sa spustenie a operačný systém môže spracúvať iné udalosti.

Syntax

DoEvents ( )

Poznámky

Funkcia DoEvents vráti celé číslo predstavujúce počet otvorených formulárov v samostatnej verzii programu Microsoft Visual Basic, ako je napríklad Visual Basic, Professional Edition. Vo všetkých ostatných aplikáciách vráti funkcia DoEvents nulu.

Funkcia DoEvents odovzdá kontrolu operačnému systému. Po ukončení spracovania udalostí vo fronte operačným systémom a po odoslaní všetkých kódov vo fronte sa kontrola odovzdá späť.

Funkcia DoEvents je najužitočnejšia pri jednoduchých procesoch, ako je napríklad možnosť zrušenia procesu používateľom po jeho spustení (môže ísť napríklad o vyhľadávanie súboru). Pri dlhotrvajúcich procesoch sa prenechanie kontroly na procesor odporúča uskutočniť pomocou funkcie Timer alebo delegovaním úlohy k súčasti EXE aktívneho prvku ActiveX. V tomto prípade môže úloha pokračovať úplne nezávisle od vašej aplikácie. O multitasking a rýchle filtrovanie sa postará operačný systém.

V rámci procedúry spúšťanej udalosťou sa pri každom dočasnom prenechaní kontroly na procesor ubezpečte, či nie je pred vrátením prvého volania procedúra opätovne spúšťaná v inej časti kódu. Môže to totiž spôsobiť nepredvídateľné výsledky. Funkciu DoEvents nepoužívajte v prípade, kedy by sa počas prenechania kontroly mohli iné aplikácie s vašou procedúrou ovplyvňovať nepredvídaným spôsobom.

Príklad

Poznámka : Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade je funkcia DoEvents použitá na spôsobenie prenechania kontroly na operačný systém po každej 1000. iterácii v slučke. Funkcia DoEvents vráti počet otvorených formulárov v programe Visual Basic, ale len v prípade, keď je program Visual Basic hosťujúcim programom.

' 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.
Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×