vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: 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.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
gefährliche Schleifen1.319marvin_9413.09.10 11:32
Re: gefährliche Schleifen795marvin_9403.10.10 10:03
Re: gefährliche Schleifen841Preisser03.10.10 13:42
Re: gefährliche Schleifen745marvin_9403.10.10 15:05
Re: gefährliche Schleifen783Preisser03.10.10 19:02
Re: gefährliche Schleifen776marvin_9404.10.10 20:24

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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