B
Brian
Hello all.
I have a simple application that I was using to test and understand
the System.Timers.Timer and noticed that when I stop the application,
on occasion, it throughs the following exception.
An exception of type 'System.ObjectDisposedException' occurred in
System.Windows.Forms.dll but was not handled in user code
Additional information: Cannot access a disposed object.
Should I just place the offending line in a Try Catch or set the timer
to nothing in FormClosing. Below is the code, real short.
Public Class formMain
Dim c As New Chronology
Dim WithEvents UpdateTmr As System.Timers.Timer
Dim StartTime As Date
Dim BlockWindowStart As Date
Dim BlockWindowEnd As Date
Private Sub formMain_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
UpdateTmr = New System.Timers.Timer
UpdateTmr.Interval = 1000
UpdateTmr.Enabled = True
StartTime = DateTime.Now
BlockWindowStart = StartTime.AddSeconds(10)
BlockWindowEnd = BlockWindowStart.AddSeconds(10)
End Sub
Private Sub UpdateTmr_Elapsed(ByVal sender As Object, ByVal e As
System.Timers.ElapsedEventArgs) Handles UpdateTmr.Elapsed
'Exception is thrown
here.<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Me.Invoke(New delUpdateForm(AddressOf UpdateForm))
End Sub
Public Delegate Sub delUpdateForm()
Public Sub UpdateForm()
Label1.Text = Now
Dim x As DateTime = DateTime.Now
Dim tsw As TimeSpan = BlockWindowEnd - BlockWindowStart
Debug.Print("Block Window Value: " & tsw.Ticks)
Dim ts As TimeSpan = DateTime.Now - BlockWindowStart
Debug.Print(ts.Ticks)
Debug.Print(DateTime.Now >= BlockWindowStart And DateTime.Now
<= BlockWindowEnd)
End Sub
End Class
I have a simple application that I was using to test and understand
the System.Timers.Timer and noticed that when I stop the application,
on occasion, it throughs the following exception.
An exception of type 'System.ObjectDisposedException' occurred in
System.Windows.Forms.dll but was not handled in user code
Additional information: Cannot access a disposed object.
Should I just place the offending line in a Try Catch or set the timer
to nothing in FormClosing. Below is the code, real short.
Public Class formMain
Dim c As New Chronology
Dim WithEvents UpdateTmr As System.Timers.Timer
Dim StartTime As Date
Dim BlockWindowStart As Date
Dim BlockWindowEnd As Date
Private Sub formMain_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
UpdateTmr = New System.Timers.Timer
UpdateTmr.Interval = 1000
UpdateTmr.Enabled = True
StartTime = DateTime.Now
BlockWindowStart = StartTime.AddSeconds(10)
BlockWindowEnd = BlockWindowStart.AddSeconds(10)
End Sub
Private Sub UpdateTmr_Elapsed(ByVal sender As Object, ByVal e As
System.Timers.ElapsedEventArgs) Handles UpdateTmr.Elapsed
'Exception is thrown
here.<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Me.Invoke(New delUpdateForm(AddressOf UpdateForm))
End Sub
Public Delegate Sub delUpdateForm()
Public Sub UpdateForm()
Label1.Text = Now
Dim x As DateTime = DateTime.Now
Dim tsw As TimeSpan = BlockWindowEnd - BlockWindowStart
Debug.Print("Block Window Value: " & tsw.Ticks)
Dim ts As TimeSpan = DateTime.Now - BlockWindowStart
Debug.Print(ts.Ticks)
Debug.Print(DateTime.Now >= BlockWindowStart And DateTime.Now
<= BlockWindowEnd)
End Sub
End Class