Исключение "Невозможно получить доступ к удаленному объекту" происходит из не пользовательского кода
Я вообще понимаю исключение Cannot access a disposed object
, Но на этот раз, похоже, это происходит из не пользовательского кода. Я не публикую свой код, потому что на этот раз я не знаю, какой:) Иногда происходит сбой при закрытии формы. Похоже, что некоторое автоматическое обновление пользовательского интерфейса продолжается:
Сообщение: невозможно получить доступ к удаленному объекту. Название объекта: "Иконка". HResult: -2146232798 HelpLink: (ноль) Источник: System.Drawing TargetSite: IntPtr get_Handle() Трассировки стека: в System.Drawing.Icon.get_Handle() в System.Drawing.Icon.get_Size() в System.Drawing.Icon.ToBitmap() в System.Windows.Forms.MdiControlStrip.GetTargetWindowIcon() в System.Windows.Forms.MdiControlStrip..ctor(цель IWin32Window) в System.Windows.Forms.Form.UpdateMdiControlStrip(логическое значение развернуто) в System.Windows.Forms.Form.UpdateToolStrip() в System.Windows.Forms.Form.OnMdiChildActivate(EventArgs e) в System.Windows.Forms.Form.ActivateMdiChildInternal(форма формы) в System.Windows.Forms.Form.WmMdiActivate(Message& m) в System.Windows.Forms.Form.WndProc(сообщение & m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) - конец трассировки стека--
Вполне возможно, что этот сеанс запускается только в отладчике, пока я не видел его в производстве. (См. Самый нижний элемент трассировки стека.)
Верно ли мое предположение (что это вызвано только сеансом отладки)? Или я должен беспокоиться о той же проблеме в производстве?
Можно ли как-то избежать этой проблемы?
1 ответ
Предоставленный вами стек вызовов может быть связан с известной проблемой.Net. Смотрите следующую ветку на MSDN-форуме.
Возможное решение заключается в использовании Me.Hide
в FormClosing
обработчик событий для дочерней формы.