我有一个非常讨厌的问题。
我动态加载程序集,其中包含表单。问题是,每当我关闭任何形式的装配时,最后一个没有关闭的形式 - 我得到了例外,这会导致我的申请被杀。
加载代码:
Assembly a = Assembly.LoadFrom(Common.Config.Path + pb.CallAssembly);
FormBase f = (FormBase)a.CreateInstance(pb.CallClass);
f.Show();
我得到的例外:
at Microsoft.AGL.Common.MISC.HandleAr(PAL_ERROR ar)
at System.Windows.Forms.Control.get_Text()
at Common.Controls.TextBoxExtended.HandleMask()
at Common.Controls.TextBoxExtended.OnKeyUp(KeyEventArgs e)
at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
at System.Windows.Forms.Application.Run(Form fm)
at xxxxxxxxxX.Program.Main()
问题在于,无论我接近哪种形式,如果它是最后一个在大会中打开 - 它会例外。也许Windows Mobile 6.5尝试处理最后一个对象,然后发布不好的程序集并且应用程序挂起。
我也使用MultiThreading。事件,但在关闭之前,我从所有事件表单中取消注册正在收听。
有没有办法捕获此类异常?我想忽略它们。如果我无法解决