Forum: VB.NET |
Thema:
AW: AW: AW: VB 2005 - Zeitgesteuerte Routine |
Von:
M Merlin (
12.04.2007 16:52) |
Ich hab da mal mit dem Threading.Timer experementieret...
Irgenwie funktioniert das nicht....
Der wird trotz dem "Dispose" immer wieder aufgerufen...
Private MyTimerDelegate As New Threading.TimerCallback(AddressOf MyTimer)
Private MyTmr As Threading.Timer
Private TimeNow As String = String.Empty
Private myMi As MethodInvoker
'z.B.
' PstrTimeToDo = "12.04.2007 15:30:00"
Private Sub MyMain()
NewTimer()
End Sub
Private Sub NewTimer()
myMi = New MethodInvoker(AddressOf SetTime)
MyTmr = New Threading.Timer(MyTimerDelegate, Nothing, 0, Periode)
End Sub
Private Sub MyTimer(ByVal State As Object)
SyncLock Me
TimeNow = Now.ToString
End SyncLock
Me.lblTimer.Invoke(myMi)
If CType((TimeNow), Date).ToShortTimeString >= CType(PstrTimeToDo, Date).ToShortTimeString Then
SaveData()
End If
End Sub
Private Sub SetTime()
Me.lblTimer.Text = TimeNow
End Sub
Private Sub SaveData()
MyTmr.Dispose()
'Warum funktioniert hier nicht den Timer zu beenden...?
'Irgendwie wird der immer wieder aufgerufen
MsgBox("Zeit erreicht - hier Daten speichern")
PstrTimeToDo = CType(Now.AddDays(1).ToShortDateString & " " & PstrHour & ":" & Format(PstrMinute, "00"), Date)
'NewTimer()
End Sub
Hat jemand eine Idee was ich machen muss, damit das dispose funktioniert...?
Danke
Betreff |
Von |
Datum |
|
|
AW: AW: AW: AW: VB 2005 - Zeitgesteuerte Routine
Dim serviceTimer As New System.Timers.Timer()<br><br>serviceTimer.Interval = 1000<br>serviceTimer.Enabled = True<br>AddHandler serviceTimer.Elapsed, AddressOf Me.working<br><br>Private Sub working(ByVal sender As... |
|
|
|
|
|
Bernhard
Grojer
|
12.04.2007 19:06 |
|
|
AW: AW: AW: AW: AW: VB 2005 - Zeitgesteuerte Routine
OK.<br><br>Folgendes habe ich gelseen:<br><br>Zitat:<br>Wenn man beim System.Timers.Timer das Interval neu setzt, wird dieses nach dem nächsten Auslösen des Timers verwendet:<br><br>Dann würde das aber nicht... |
|
|
|
|
|
M
Merlin
|
13.04.2007 08:32 |
|
|
Bernhard
Grojer
|
13.04.2007 11:45 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!