那位高手遇到过这样的异常?小弟实在没办法了。望指教!!!

时间:2022-03-29 16:46:06
未处理的“System.ExecutionEngineException”类型的异常出现在 未知模块 中。



************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.RunDialog(Form form)
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at DSSAnalyse.UC_FIC_FuncKindDefine.Right_Clicked1(Object sender, EventArgs e) in e:\4-18\dssapp\dssintegrationmodule\uc_fic_funckinddefine.cs:line 1261
   at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.MenuItemData.Execute()
   at System.Windows.Forms.Command.Invoke()
   at System.Windows.Forms.Control.WmCommand(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at C1.Win.C1TrueDBGrid.C1TrueDBGrid.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)




************** 异常文本 **************
System.Runtime.InteropServices.SEHException: 外部组件发生异常。
   at System.Windows.Forms.UnsafeNativeMethods.IntDestroyWindow(HandleRef hWnd)
   at System.Windows.Forms.UnsafeNativeMethods.DestroyWindow(HandleRef hWnd)
   at System.Windows.Forms.NativeWindow.DestroyHandle()
   at System.Windows.Forms.Control.DestroyHandle()
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at DSSAnalyse.UC_FIC_FuncKindDefine.Right_Clicked1(Object sender, EventArgs e)
   at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.MenuItemData.Execute()
   at System.Windows.Forms.Command.Invoke()
   at System.Windows.Forms.Control.WmCommand(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at C1.Win.C1TrueDBGrid.C1TrueDBGrid.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

10 个解决方案

#1


CODE??

#2


太长了。而且我单步调了。似乎不是我的代码问题。好像是有关消息队列的处理问题。

#3


单步调试吧。

#4


是不是部署到服务器的时候,把你引入的外部组件给弄丢了撒?
在自己开发的机器上引入了外部组件,调试正常,服务器上看是不是缺少某些组件。

#5


我现在在自已的机器上都调不过去。外部组件没问题。别的地方也用到了。没出错。

#6


是不是在序列化時出現了這個問題

#7


程序代码没有异常。这是.net的某种机制导制的。我这里有一些英文资料
::::
I owe lunch to a great friend of mine for helping my solve this.  Jason Walker (a fellow member of our .NET User Group leadership) was kind enough to research an issue I was having.

The team up at Redmond was kind enough to include a method called EnableVisualStyles() in .NET Framework v1.1.  This method alleviates the need to include .manifest files for each .exe for which you want the sleek, cool Windows XP look and feel.  This method should be called prior to any UI or control being presented so it is routinely the first line of code in your app's entry point.  I suppose (for I haven't looked deeply into it yet) that calling this method internally performs a PostMessage() operation which is an asynchronous, fire and forget method (vs SendMessage() which is synchronous).

Through heartache and pain I have found that if your application displays a modal dialog window an exception will be thrown when the dialog closes down.  Well, I was programming along and all of the sudden I was greeted by a very noxious-looking and uninformative System.Runtime.InteropServices.SEHException when a wizard that I had written (which is displayed as a modal dialog) shut down.  It didn't occur to me that my call to EnableVisualStyles() was the offender of this obscure error.  I was trying to figure out whether it was something to do with some custom non-UI to UI thread marshalling or something of the like.  The stack trace revealed the following:

SEHException at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at
System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(...)
...

I should have read the stack trace more closely before applying my own rationale to solving the problem.

The solution is to call Application.DoEvents() just following the call to Application.EnableVisualStyles() so that the message posted has a chance to complete before proceeding.

#8


Application.DoEvents() 来解决。

#9


不过我加了不好使。

#10


该回复被版主删除

#1


CODE??

#2


太长了。而且我单步调了。似乎不是我的代码问题。好像是有关消息队列的处理问题。

#3


单步调试吧。

#4


是不是部署到服务器的时候,把你引入的外部组件给弄丢了撒?
在自己开发的机器上引入了外部组件,调试正常,服务器上看是不是缺少某些组件。

#5


我现在在自已的机器上都调不过去。外部组件没问题。别的地方也用到了。没出错。

#6


是不是在序列化時出現了這個問題

#7


程序代码没有异常。这是.net的某种机制导制的。我这里有一些英文资料
::::
I owe lunch to a great friend of mine for helping my solve this.  Jason Walker (a fellow member of our .NET User Group leadership) was kind enough to research an issue I was having.

The team up at Redmond was kind enough to include a method called EnableVisualStyles() in .NET Framework v1.1.  This method alleviates the need to include .manifest files for each .exe for which you want the sleek, cool Windows XP look and feel.  This method should be called prior to any UI or control being presented so it is routinely the first line of code in your app's entry point.  I suppose (for I haven't looked deeply into it yet) that calling this method internally performs a PostMessage() operation which is an asynchronous, fire and forget method (vs SendMessage() which is synchronous).

Through heartache and pain I have found that if your application displays a modal dialog window an exception will be thrown when the dialog closes down.  Well, I was programming along and all of the sudden I was greeted by a very noxious-looking and uninformative System.Runtime.InteropServices.SEHException when a wizard that I had written (which is displayed as a modal dialog) shut down.  It didn't occur to me that my call to EnableVisualStyles() was the offender of this obscure error.  I was trying to figure out whether it was something to do with some custom non-UI to UI thread marshalling or something of the like.  The stack trace revealed the following:

SEHException at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at
System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(...)
...

I should have read the stack trace more closely before applying my own rationale to solving the problem.

The solution is to call Application.DoEvents() just following the call to Application.EnableVisualStyles() so that the message posted has a chance to complete before proceeding.

#8


Application.DoEvents() 来解决。

#9


不过我加了不好使。

#10


该回复被版主删除