0

大家有遇到过类似的吗?异常类型:System.ComponentModel.Win32Exception 异常消息:操作成功完成。异常堆栈跟踪:

------------------------
   at System.Drawing.BufferedGraphicsContext.CreateCompatibleDIB(IntPtr hdc, IntPtr hpal, Int32 ulWidth, Int32 ulHeight, IntPtr& ppvBits)
   at System.Drawing.BufferedGraphicsContext.CreateBuffer(IntPtr src, Int32 offsetX, Int32 offsetY, Int32 width, Int32 height)
   at System.Drawing.BufferedGraphicsContext.AllocBuffer(Graphics targetGraphics, IntPtr targetDC, Rectangle targetRectangle)
   at System.Drawing.BufferedGraphicsContext.AllocBufferInTempManager(Graphics targetGraphics, IntPtr targetDC, Rectangle targetRectangle)
   at System.Drawing.BufferedGraphicsContext.Allocate(IntPtr targetDC, Rectangle targetRectangle)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m)
   at DevExpress.XtraGrid.GridControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

在应用程序中使用了一个图形对象的任何地方,它都与 using 一起使用,因此启用了处理。

谢谢。

4

1 回答 1

0

我们遇到了一些类似的问题。听起来您的应用程序中有一些内存泄漏。我们也遇到了类似的问题,我们花了很长时间才找到要修复的位置和内容。

一般来说,我可以建议您检查一下,当您隐藏并且不再使用它时,您的 win 表单组件的 Dispose 方法是否被调用。但是要验证您是否有内存泄漏以及在哪里修复它们,您需要一个好的内存分析器。

至少在我们的案例中,它解决了这些 win32 异常。

编辑:我刚刚看到,在您的情况下启用了处置,我仍然建议您检查每个电话!我们还认为 Dispose 会被调用,但有时不是!

于 2010-11-01T11:03:42.227 回答