DoEvents-funktio

Huomautus: Tässä ohjeaiheessa kuvattu funktio, menetelmä, objekti tai ominaisuus ei ole käytössä, jos Microsoft Jet Expression Service toimii eristetyssä tilassa, mikä estää mahdollisesti vahingollisten lausekkeiden arvioimisen. Katso lisätietoja eristetystä tilasta ohjeen ”Eristetty tila” -kohdasta.

Saa aikaan sellaisen suorituksen, että käyttöjärjestelmä pystyy käsittelemään muita tapahtumia.

Syntaksi

DoEvents )

Huomautuksia

DoEvents-funktio palauttaa kokonaisluvun, joka edustaa avoinna olevien lomakkeiden määrää erillisissä Microsoft Visual Basic -versioissa, kuten Visual Basic Professional Edition. DoEvents palauttaa nollan kaikissa muissa sovelluksissa.

DoEvents siirtää hallinnan käyttöjärjestelmälle. Hallinta palautetaan, kun käyttöjärjestelmä on lopettanut jonossa olevien tapahtumien käsittelyn ja kun kaikki avaimet LähetäNäppäinkomennot-jonossa on lähetetty.

DoEvents on käytännöllisin yksinkertaisille asioille, se esimerkiksi antaa käyttäjän peruuttaa prosessin sen jälkeen, kun se on aloitettu, esimerkiksi tiedoston haun. Pitkäkestoisten prosessien kohdalla prosessorin käyttö tapahtuu paremmin käyttämällä ajastinta tai delegoimalla tehtävä ActiveX EXE-komponentille. Jälkimmäisessä tapauksessa tehtävä voi jatkua täysin itsenäisesti sovelluksesta riippumatta, ja käyttöjärjestelmä hoitaa moniajon ja ajan jaksotuksen.

Aina, kun hetkellisesti käytät prosessoria tapahtuman toimenpiteen aikana, varmista, että toiminto ei suoriteta uudelleen koodin eri osasta ennen kuin ensimmäinen kutsu palautuu; tämä saattaa aiheuttaa odottamattomia tuloksia. Lisäksi älä käytä DoEvents-toimintoa, jos muut sovellukset voivat mahdollisesti olla vuorovaikutuksessa toimintosarjan kanssa odottamattomia tavalla sinä aikana, kun olet luovuttanut hallinnan.

Esimerkki

Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Tässä esimerkissä DoEvents-funktiota käytetään toteuttamaan siirto käyttöjärjestelmään kerran silmukan jokaisen 1000 iteraation myötä. DoEvents palauttaa tietyn määrän avoimia Visual Basic -lomakkeita, mutta vain, jos isäntäsovellus 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.
Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×