Begrenzung der Nutzung der CPU

15/11/2007 - 14:35 von Mark Riemann | Report spam
Hallo,

wenn ich eine Schleife sehr oft durchlaufe, also bspw. folgenden Code in
das Form_Load Ereignis schreibe, kommt es natürlich trotz der
DoEvent-Anweisung zu einer maximalen Auslastung der CPU. Kann man diese
Auslastung begrenzen? Oder macht das gar keinen Sinn?

Code
Sub Form_Load()
Dim i As Integer
Dim k As Integer
For i = 1 To 10000
For k = 1 To 10000
DoEvents
k = k + 1
Next k
DoEvents
i = i + 1
Next i
End Sub
Code-Ende

Warum kann man das Laden der Form mit der VB6-IDE in diesem Fall nicht
abbrechen ("Beenden"-Button)?


Vielen Dank
Mark

O.g. Mailadresse existiert zwar, wird aber nicht gelesen. Um mir eine
Mail zu schreiben, ersetze bitte das "news" durch "Mark". Vielen Dank.
 

Lesen sie die antworten

#1 Thorsten Doerfler
15/11/2007 - 18:27 | Warnen spam
Mark Riemann schrieb:
wenn ich eine Schleife sehr oft durchlaufe, also bspw. folgenden Code in
das Form_Load Ereignis schreibe, kommt es natürlich trotz der
DoEvent-Anweisung zu einer maximalen Auslastung der CPU. Kann man diese
Auslastung begrenzen?



Mit ein paar Sleep-Aufrufen (API) eingestreut, kein Thema.

Oder macht das gar keinen Sinn?



Depends.

Sub Form_Load()
Dim i As Integer
Dim k As Integer
For i = 1 To 10000
For k = 1 To 10000
DoEvents
k = k + 1
Next k
DoEvents
i = i + 1
Next i
End Sub
Code-Ende

Warum kann man das Laden der Form mit der VB6-IDE in diesem Fall nicht
abbrechen ("Beenden"-Button)?



Wo ist Deine Abbruchbedingung, die die Schleifen veranlasst zu beenden?

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen