以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不定时,出现GDI+ 中发生一般性错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185848)

--  作者:yankunhao
--  发布时间:2023/3/21 10:08:00
--  不定时,出现GDI+ 中发生一般性错误
项目不定时,出现GDI+ 中发生一般性错误,请问这个应该如何查找出错原因?

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误。
   在 System.Drawing.Bitmap.FromHicon(IntPtr hicon)
   在 System.Drawing.Icon.BmpFrame()
   在 System.Drawing.Icon.ToBitmap()
   在 Foxtable.o0_0oO__.o 0   O (Object A_0, OwnerDrawCellEventArgs A_1, Boolean A_2, Boolean A_3, Boolean& A_4)
   在 Foxtable.o0_0oO__.oOOO___O(Object A_0, OwnerDrawCellEventArgs A_1)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.OnOwnerDrawCell(OwnerDrawCellEventArgs e)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.#gdb(OwnerDrawCellEventArgs #tQ)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.#fdb(Graphics #AA, Int32 #j, Int32 #l, Style #aE, Rectangle #o5, String #gM, String #yxd, Int32 #xEu, Image #Ak, Sparkline #fmh)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.DrawCell(Graphics #AA, Int32 #j, Int32 #l, Style #aE, Rectangle #o5, String #gM, String #yxd, Int32 #xEu, Image #Ak, CheckEnum #bdb, Sparkline #fmh)
   在 C1.Win.C1FlexGrid.C1FlexGrid.DrawCell(PaintEventArgs e, Int32 row, Int32 col)
   在 C1.Win.C1FlexGrid.C1FlexGrid.DrawRow(PaintEventArgs e, Int32 row)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.#adb(PaintEventArgs #tQ)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.OnPaint(PaintEventArgs e)
   在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   在 System.Windows.Forms.Control.WmPaint(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

System.Drawing.resources
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_zh-Hans_b03f5f7f11d50a3a/System.Drawing.resources.dll
----------------------------------------

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试程序,
而不是由此对话框处理。


[此贴子已经被作者于2023/3/21 10:08:49编辑过]

--  作者:有点蓝
--  发布时间:2023/3/21 10:10:00
--  
GDI+是绘图出错
1、多测试看看是做什么操作出现的错误,总结一下规律
2、不要使用分辨率和尺寸过大的图片

--  作者:yankunhao
--  发布时间:2023/3/21 10:35:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20230321102839.png
图片点击可在新窗口打开查看

我在一个表里有个窗口,窗口有两个用来看图片的PictureViewe控件,一般情况下是没问题的可以正常显示图片,出错好像是不固定的,目前发现不了规律


--  作者:有点蓝
--  发布时间:2023/3/21 10:54:00
--  
不要使用分辨率和尺寸过大的图片
--  作者:yankunhao
--  发布时间:2023/3/21 10:58:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20230321105617.png
图片点击可在新窗口打开查看

图片并不大
现在查到最大的图是4.53MB
[此贴子已经被作者于2023/3/21 11:03:35编辑过]

--  作者:有点蓝
--  发布时间:2023/3/21 11:08:00
--  
最好在1M以内,否则如果频繁切换图片,就有可能这样了。另外看看是不是图片本身有问题
--  作者:yankunhao
--  发布时间:2023/3/21 11:14:00
--  
还有没别的方法可以解决图片大可能会出错这样的问题?
--  作者:yankunhao
--  发布时间:2023/3/21 11:16:00
--  
另外我的图片是放在内网一个服务器上的,这个有没影响?


--  作者:有点蓝
--  发布时间:2023/3/21 11:27:00
--  
图片大这个暂时没有办法解决,Foxtable毕竟不是专业的图形处理软件,不适合显示大图片