Funktionen DoEvents

Bemærk: Funktionen, metoden, objektet eller egenskaben, der er beskrevet i dette emne, deaktiveres, hvis Microsoft Jet Expression Service kører i sandkassetilstand, hvilket forhindrer evalueringen af potentielt usikre udtryk. Søg efter "sandkassetilstand" i Hjælp, hvis du vil have mere at vide om sandkassetilstand.

Medfører udførelse, så operativsystemet kan behandle andre hændelser.

Syntaks

DoEvents ( )

Bemærkninger

Funktionen DoEvents returnerer et heltal, der repræsenterer antallet af åbne formularer i enkeltstående versioner af Microsoft Visual Basic, f.eks. Visual Basic Professional Edition. DoEvents returnerer nul i alle andre programmer.

DoEvents videregiver kontrollen til operativsystemet. Kontrollen gives tilbage, når operativsystemet er færdig med at behandle hændelserne i sin kø, og alle nøgler i køen SendTaster er blevet sendt.

DoEvents egner sig bedst til enkle ting som at give en bruger tilladelse til at annullere en proces, efter den er startet, for eksempel søgning efter en fil. Ved længerevarende processer afgives kontrollen bedst til processoren ved hjælp af en Timer eller en uddelegering af opgaven til en ActiveX EXE-komponent. I sidstnævnte tilfælde kan opgaven fortsætte helt uafhængigt af dit program, og operativsystemet tager sig af multitasking og tidsudsnit.

Hver gang du midlertidigt afgiver kontrollen til processoren inden for en hændelsesprocedure, skal du sørge for, at procedure ikke udføres igen fra en anden del af din kode, før det første kald returneres. Dette kan medføre uforudsigelige resultater. Desuden skal du undlade at bruge DoEvents, hvis andre programmer potentielt kan interagere med proceduren på uforudsete måder, mens du har afgivet kontrollen.

Eksempel

Bemærk: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

I dette eksempel anvendes funktionen DoEvents til at udføre afgivelse af kontrollen til operativsystemet én gang for hver 1.000 gentagelser af løkken. DoEvents returnerer antallet af åbne Visual Basic-formularer, men kun når værtsprogrammet er 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.
Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×