Hallo,
ich habe ein Projekt bei dem ich Timer gesteuert diverse Aktionen ausführen lasse.
Ich verwende dafür die "ScheduleLib" hier aus dem Forum.
Bisher hatte ich im Projekt 2 zeitgesteuerte Aufgaben, jetzt sollte eine dritte dazu kommen.
Seit dem ich die dritte Aufgabe implementiert habe kann ich keine Controls mehr steuern.
Ich habe das ganze mal vereinfacht in einem neuen Projekt dargestellt.
Auf der Form habe ich eine Textbox, deren Text ich auslesen wollte, ein Label das ich ein- und ausblenden wollte und einen Button mit dem ich die Aufgabenplanung starte.
Form1.vb:
Module1.vb:
Im Debugfenster wird jetzt nur das angezeigt was beim Starten in der Textbox1 bereits steht. Jegliche Änderung darin wird nicht übernommen.
Auch das Label, das zum testen ein- und ausgeblendet werden soll bleibt eingeblendet.
Wo ist mein Fehler?
Danke
ich habe ein Projekt bei dem ich Timer gesteuert diverse Aktionen ausführen lasse.
Ich verwende dafür die "ScheduleLib" hier aus dem Forum.
Bisher hatte ich im Projekt 2 zeitgesteuerte Aufgaben, jetzt sollte eine dritte dazu kommen.
Seit dem ich die dritte Aufgabe implementiert habe kann ich keine Controls mehr steuern.
Ich habe das ganze mal vereinfacht in einem neuen Projekt dargestellt.
Auf der Form habe ich eine Textbox, deren Text ich auslesen wollte, ein Label das ich ein- und ausblenden wollte und einen Button mit dem ich die Aufgabenplanung starte.
Form1.vb:
VB.NET-Quellcode
- Public Class Form1
- Friend TestVar As String = "Test-Variable, sollte sich ändern nach dem ersten Tick von Timer1"
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- 'keyboard.Show()
- Debug.WriteLine("Starte Timer 1")
- Call Module1.Init_1()
- Threading.Thread.Sleep(3000)
- Debug.WriteLine("Starte Timer 2")
- Call Module1.Init_2()
- Threading.Thread.Sleep(3000)
- Debug.WriteLine("Starte Timer 3")
- Call Module1.Init_3()
- End Sub
- End Class
Module1.vb:
VB.NET-Quellcode
- Module Module1
- Friend WithEvents Scheduler1 As ScheduleLib.Scheduler
- Friend WithEvents Scheduler2 As ScheduleLib.Scheduler
- Friend WithEvents Scheduler3 As ScheduleLib.Scheduler
- Friend Sub Init_1()
- If IsNothing(Scheduler1) Then
- Scheduler1 = New ScheduleLib.Scheduler(Now.Date.AddHours(24))
- AddHandler Scheduler1.Tick, AddressOf Scheduler1Tick
- Call Set_Timer_1()
- End If
- End Sub
- Friend Sub Init_2()
- If IsNothing(Scheduler2) Then
- Scheduler2 = New ScheduleLib.Scheduler(Now.Date.AddHours(24))
- AddHandler Scheduler2.Tick, AddressOf Scheduler2Tick
- Call Set_Timer_2()
- End If
- End Sub
- Friend Sub Init_3()
- If IsNothing(Scheduler3) Then
- Scheduler3 = New ScheduleLib.Scheduler(Now.Date.AddHours(24))
- AddHandler Scheduler3.Tick, AddressOf Scheduler3Tick
- Call Set_Timer_3()
- End If
- End Sub
- Private Sub Set_Timer_1()
- Scheduler1.ChangeDate(Now.AddSeconds(12))
- End Sub
- Private Sub Set_Timer_2()
- Scheduler2.ChangeDate(Now.AddSeconds(12))
- End Sub
- Private Sub Set_Timer_3()
- Scheduler3.ChangeDate(Now.AddSeconds(12))
- End Sub
- '#################### TICKS ####################
- Public Sub Scheduler1Tick()
- Debug.WriteLine("Nummer 1 hat getickt: " & Form1.TestVar)
- Scheduler1.ChangeDate(Now.AddSeconds(12))
- Form1.Label1.Visible = Not Form1.Label1.Visible
- Form1.TestVar = "Geänderter Inhalt der TestVar"
- End Sub
- Public Sub Scheduler2Tick()
- Debug.WriteLine("Nummer 2 hat getickt: " & Form1.TextBox1.Text)
- Scheduler2.ChangeDate(Now.AddSeconds(12))
- Form1.Label1.Visible = Not Form1.Label1.Visible
- End Sub
- Public Sub Scheduler3Tick()
- Debug.WriteLine("Nummer 3 hat getickt: " & Form1.TextBox1.Text)
- Scheduler3.ChangeDate(Now.AddSeconds(12))
- Form1.Label1.Visible = Not Form1.Label1.Visible
- End Sub
- End Module
Im Debugfenster wird jetzt nur das angezeigt was beim Starten in der Textbox1 bereits steht. Jegliche Änderung darin wird nicht übernommen.
Auch das Label, das zum testen ein- und ausgeblendet werden soll bleibt eingeblendet.
Wo ist mein Fehler?
Danke