| |

Visual-Basic EinsteigerRe: gefährliche Schleifen | |  | Autor: Preisser | Datum: 03.10.10 13:42 |
| Hallo,
zur ersten Frage: Ich versteh zwar jetzt nicht was du mit "gefährlich" meinst. Die beiden Beispiele jedenfalls laufen ziemlich gleich schnell, wobei das untere minimal schneller sein wird, da die schleife dort nur 1x von 0 bis 9 zählt statt 3x, wobei das keien messbaren Auswirkungen haben wird.
Zur unteren Frage: Also ein Timer ist ein Steuerelement, das über die Windows API eine Callback-Funktion registriert, die Windows aufrufen soll, wenn ein Timer-Intervall vorüber ist. VB6 unterstützt ja kein Multithreading mit Boardmitteln, es gibt deshlab normalerweise nur einen einzigen (GUI-)Thread.
Für das Messen der Zeit ist also Windows verantwortlich. Wenn es nun feststellt, dass die Intervallzeit um ist, schickt es eine Nachricht ans Program, durch die die Timer-Callback-Funktion aufgerufen wird. Dann wird also der Code im Timer ausgeführt. Solange der GUI-Thread ausgelastet ist, wird der Zeitmesser angehalten.
Wenn du beispielsweise einen Timer mit einem Intervall von 2000 ms hast und ihn startest (Timer.Enabled = True), dauert es 2 Sekunden, danach wird der Code ausgeführt. Dann dauert es wieder 2 Sekunden, dann wird wieder der Code ausgeführt usw.
Wenn der Code im Timer jetzt allerdings zur Ausführung genau 1 Sekunde braucht, verzögert sich dadurch der Aufruf des Timers. Der Timer wartet 2 Sekunden und fürht dann den Code aus. Dieser braucht 1 Sekunde zur Ausführung, und erst danach beginnt der Timer wieder mit Zeitzählen. Es würde dann also so aussehen, als würde nur alle 3 Sekunden der Timer den Code ausführen.
Timer sind außerdem zum Zeitmessen nicht unbedingt geeignet, da das Intervall nur einen ungefähren Wert darstellt, der eingehalten muss. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|