הפונקציה DoEvents

חשוב: מאמר זה תורגם בתרגום מכונה, ראה כתב ויתור. תוכל למצוא את הגרסה באנגלית של המאמר כאן לעיונך.

הערה: הפונקציה, שיטת, אובייקט או מאפיין המתוארים בנושא זה אינה זמינה אם שירות Microsoft Jet ביטוי פועל במצב ארגז חול, המונעת להערכה של ביטויים העשויים להיות לא בטוחים. לקבלת מידע נוסף אודות מצב ארגז חול, חפש "מצב sandbox" בעזרה.

הפקת ביצוע באופן שמערכת ההפעלה תוכל לעבד אירועים אחרים.

תחביר

הפונקציה DoEvents ( )

הערות

הפונקציה DoEvents מחזירה מספר שלם המייצג את מספר טפסים פתוחים בגירסאות עצמאי של Microsoft Visual Basic, כגון Visual Basic, Professional Edition. הפונקציה DoEvents מחזירה אפס בכל יישום אחר.

הפונקציה DoEvents מעביר שליטה שמערכת ההפעלה. הבקרה שבה לאחר שמערכת ההפעלה סיימה לעבד את האירועים בתור וכל המפתחות בתור SendKeys נשלחו.

הפונקציה DoEvents שימושית ביותר עבור פריטים פשוטים כמו מתן אפשרות למשתמש לבטל הליך לאחר הפעלתו, לדוגמה חיפוש קובץ. לתהליכי ארוכת טווח, עצירת המעבד תצליח טוב יותר מתבצעת באמצעות שעון עצר או הקצאת המשימה לרכיב ActiveX EXE. במקרה זה, הפעילות באפשרותך להמשיך לפעול באופן עצמאי לחלוטין ביישום ולאחר שמערכת ההפעלה מטפל ריבוי משימות וחלוקת זמן.

בכל פעם שאתה עוצר באופן זמני מעבד בתוך שגרת אירוע, ודא הליך אינה מבוצעת שוב מחלק אחר בקוד לפני החזרת הקריאה הראשונה; זה עלול לגרום לתוצאות בלתי צפויות. בנוסף, אין להשתמש בפונקציה DoEvents אם יישומים אחרים היתה שעלולות להיות אינטראקציה עם היישום שלך בדרכים שהבקרה בפרק הזמן שמושהית.

דוגמה

הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications‏ (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.

דוגמה זו משתמשת בפונקציה DoEvents כדי לגרום לעצירת למערכת ההפעלה אחת ל- 1000 חזרות של הלולאה. הפונקציה DoEvents מחזירה את מספר הטפסים הפתוחים של Visual Basic, אך רק כאשר היישום המארח 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.

הערה: כתב ויתור בנוגע לתרגום מכונה: מאמר זה תורגם על-ידי מערכת מחשב, ללא התערבות אדם. Microsoft מציעה את תרגומי המכונה כדי לסייע למשתמשים שאינם דוברי אנגלית ליהנות מתוכן בנושא מוצרים, שירותים וטכנולוגיות של Microsoft. מכיוון שהמאמר תורגם על-ידי מכונה, הוא עלול להכיל שגיאות באוצר המילים, בתחביר או בדקדוק.

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×