title image


Smiley Re: Timerobjekt = Sleep? Stimmt nicht.
Das Timer-Objekt ruft GetLocalTime auf, um die auf dem lokalen Computer geltende Zeit zu erhalten. Das ganze geschieht in ein und demselben Thread. Man probiere folgenden Code:Option Explicit Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As IntegerEnd Type Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) Sub Main() Dim sysTime As SYSTEMTIME  Call GetSystemTime(sysTime) Debug.Print "SystemTime: "; ((sysTime.wHour * 24#) + sysTime.wMinute) * 60# + sysTime.wSecond + sysTime.wMilliseconds / 1000#  Call GetLocalTime(sysTime) Debug.Print "SystemTime: "; ((sysTime.wHour * 24#) + sysTime.wMinute) * 60# + sysTime.wSecond + sysTime.wMilliseconds / 1000#  Debug.Print "Timer: "; TimerEnd SubMan wird feststellen, daß GetLocalTime() und Timer() immer das gleiche Ergebnis bringen, während GetLocalTime z.Zt. von GetSystemTime um 2 Stunden (bzw. um -22 Stunden zwischen 0:00 Uhr und 2:00 Uhr) abweicht (Sommerzeit plus 1 Stunde vor London)Anders verhält es sich bei dem Timer-Steuerelement aus Visual Basic, daß eigentlich nur die API-Funktion SetTimer und Co. verwendet. Das läuft dann in der Tat in einem eigenen Thread ab.Auch die Sleep() - Funktion läuft in einem eigenen Thread, denn diese Funktion verwendet ebenfalls SetTimer und löscht den Timer nach Beendigung wieder (KillTimer).Gruß,Thomas Prötzschcu
Thomas Prötzsch

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: