winform程序,Program中的main方法出现错误

C#写的winform程序,使用了第三方控件DevExpress,页面每隔2秒有数据刷新。
程序多数时间运行正常,但有时运行一段后出现如下错误:
图片说明
请技术大牛帮忙看看

    stackTrace中信息

在 DevExpress.Utils.AppearanceObject.CalcDefaultTextSize(Graphics g)
在 DevExpress.XtraEditors.ViewInfo.BaseControlViewInfo.CalcTextSizeCore(GraphicsCache cache, String text, Int32 maxWidth)
在 DevExpress.XtraEditors.ViewInfo.BaseControlViewInfo.CalcTextSizeCore(Graphics g, String text, Int32 maxWidth)
在 DevExpress.XtraEditors.ViewInfo.BaseControlViewInfo.CalcTextSize(Graphics g, Boolean useDisplayText)
在 DevExpress.XtraEditors.ViewInfo.BaseEditViewInfo.CalcBestFit(Graphics g)
在 DevExpress.XtraEditors.ViewInfo.TextEditViewInfo.CalcMinHeightCore(Graphics g)
在 DevExpress.XtraGrid.Views.Base.ViewInfo.BaseViewInfo.CalcMinEditorHeight(AppearanceObject[] styles)
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.CalcMinRowHeight()
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.CalcRectsConstants()
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.CalcRects(Rectangle bounds, Boolean partital)
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.CalcCore(Graphics g, Rectangle bounds)
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.Calc(Graphics g, Rectangle bounds)
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.FullRecalcScroll(Graphics g, Rectangle bounds)
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.CalcAfterVertScrollCore(Graphics g, Rectangle bounds, Boolean useCache)
在 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo.CalcAfterVertScroll(Graphics g, Rectangle bounds, Boolean useCache)
在 DevExpress.XtraGrid.Views.Grid.GridView.RefreshRows(Boolean useCache, Boolean afterScroll)
在 DevExpress.XtraGrid.Views.Grid.GridView.CalculateDataCore()
在 DevExpress.XtraGrid.Views.Grid.GridView.CalculateData()
在 DevExpress.XtraGrid.Views.Base.BaseView.Draw(GraphicsCache e)
在 DevExpress.XtraGrid.Views.Grid.GridView.Draw(GraphicsCache e)
在 DevExpress.XtraGrid.GridControl.OnPaint(PaintEventArgs e)
在 DevExpress.Utils.Drawing.ControlPaintHelper.PaintWithErrorHandling(PaintEventArgs paintEventArgs, Int32 layer)
在 DevExpress.Utils.Drawing.ControlPaintHelper.ProcessWMPaint(Message& m)
在 DevExpress.XtraGrid.GridControl.CheckProcessMsg(Message& m)
在 DevExpress.XtraGrid.GridControl.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

c#

3个回答

异常从 frmMain 的构造函数里面丢出,而原因是 XtraGrid 的初始化的异常,你可以先把 XtraGrid 从界面上删除掉,再重新添加,看运行结果,然后逐步添加功能,直到出现错误,以找到错误的原因。

wiledog
wiledog 发了一个160C的问题帮忙看看啊https://ask.csdn.net/questions/760988
11 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复wiledog: 好的,回头我看下
11 个月之前 回复
wiledog
wiledog 这个问题暂时还没解决,分给你吧,一直大力帮忙
11 个月之前 回复
wiledog
wiledog 我还有个问题给你发邮件了cao_ 163那个
11 个月之前 回复
wiledog
wiledog 定位到出问题的grid,加上try catch并点了断点,有时我打开其他软件时会出这个问题
11 个月之前 回复
wiledog
wiledog 我找到了,就是在五个中的一个grid上出错误
11 个月之前 回复
wiledog
wiledog 我这有5个grid先一个一个看一下
11 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复wiledog: 如果找不到什么规律,试试看换控件呢。不能排除本身的bug
11 个月之前 回复
wiledog
wiledog 回复操作员马善福(贵阳专业挖机): 不是,没有采集网页,后台没有长时间运行程序grid不变的情况,grid在不断刷新
11 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复wiledog: 是不是采集网页的程序长时间运行,grid里面有大量的数据的情况下?
11 个月之前 回复
wiledog
wiledog 谢谢,这个错误不经常出现,有时运行很久才出,
11 个月之前 回复

所设置的变量为空值或没有取到值。
未用new初始化对象。
在程序中所引用的控件不存在。
解决方法:
使用try..catch...finally捕捉错误。
查看代码中是否存在未初始化的变量。

Application.Run肯定没有问题,
问题直接表现在Dev的“GridView”在计算文本尺寸时挂死的,也就是说文本为null了。
你可以从“页面每隔2秒有数据刷新”这个业务逻辑入手,逐行屏蔽代码,并增加try catch来定位问题

wiledog
wiledog 谢谢,您写得有指导意义,我反复使用的都是同样的数据,但程序运行起来有时很快就出错,有时很久不出错
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问