В проекте VB.NET WinForms я получаю исключение
Невозможно получить доступ к удаленному объекту
при закрытии формы. Это происходит очень редко, и я не могу воссоздать его по требованию. Трассировка стека выглядит следующим образом:
Cannot access a disposed object. Object name: 'dbiSchedule'.
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.PointToScreen(Point p)
at Dbi.WinControl.Schedule.dbiSchedule.a(Boolean A_0)
at Dbi.WinControl.Schedule.dbiSchedule.a(Object A_0, EventArgs A_1)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
DbiSchedule - это управление расписанием от Dbi-tech. В форме есть таймер, который обновляет расписание на экране каждые несколько минут.
Любые идеи, что вызывает исключение и как я мог бы исправить это? или даже просто восстановить его по требованию?
Хей! Спасибо за ответы на все вопросы. Мы останавливаем Timer для события FormClosing и проверяем свойство IsDisposed в компоненте расписания, прежде чем использовать его в событии Timer Tick, но это не помогает.
Это действительно раздражающая проблема, потому что, если кто-то придумал решение, которое сработало, я бы не смог подтвердить решение, потому что я не могу воссоздать проблему вручную.