Funktsioon DoEvents

Märkus. : Kui Microsoft Jet Expression Service töötab liivakastirežiimis, mis takistab potentsiaalselt ebaturvaliste avaldiste väärtustamist, on käesolevas artiklis kirjeldatud funktsioon, meetod, objekt või atribuut keelatud. Liivakastirežiimi kohta lisateabe saamiseks otsige spikrist sõna „liivakastirežiim”.

Lõpetab toimingu täitmise, et opsüsteem saaks muid sündmusi töödelda.

Süntaks

DoEvents ( )

Kommentaarid

Funktsioon DoEvents tagastab Microsoft Visual Basicu autonoomsetes versioonides (nt Visual Basic Professional Editionis) olevate avatud vormide hulka tähistava täisarvu. DoEvents tagastab kõigi muude rakenduste korral nullväärtuse.

DoEvents edastab juhtimise opsüsteemile. Juhtimine tagastatakse siis, kui opsüsteem on lõpule viinud järjekorras olevate sündmuste töötlemise ning kõik meetodi SendKeys järjekorras olevad klahvikäsud on saadetud.

Funktsioon DoEvents sobib kasutamiseks eelkõige lihtsate toimingute korral, näiteks võimaldamaks kasutajal toimingu (nt failiotsingu) tühistada. Kauakestvate protsesside korral saab protsessorile juhtimise paremaks edastamiseks kasutada taimerit või delegeerida tegum ActiveX EXE-komponendile. Viimasel juhul jätkub tegum rakendusest täiesti sõltumatult ning multitegumtöö ja ajalõigud jäävad opsüsteemi hooleks.

Kui edastate sündmuseprotseduuri ajal juhtimise protsessorile, veenduge, et protseduuri ei käivitataks mõne koodis oleva muu osa alusel uuesti enne esimese kutse tagastamist. See võib anda mitteootuspäraseid tulemeid. Ärge kasutage funktsiooni DoEvents, kui muud rakendused saavad protseduuriga ettenägematul viisil suhelda sel ajal, kui juhtimine on üle antud.

Näide

Märkus. : Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.

Selles näites kasutatakse funktsiooni DoEvents juhtimise üleandmiseks opsüsteemile tsükli iga 1000 iteratsiooni järel. DoEvents tagastab Visual Basicu avatud vormide arvu ainult siis, kui hostrakendus on 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.
Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×