以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  偶发性的严重报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29392)

--  作者:atmetmicoo
--  发布时间:2013/3/6 9:46:00
--  偶发性的严重报错
狐爸,

我们的系统在保存报价时,会偶尔报错(个把星期会有人遇到一两次),我一直没找到问题根源,求教狐爸看能不能从错误提示的详细代码里面给点提示:


此主题相关图片如下:偶发性报错提示
按此在新窗口浏览图片

此主题相关图片如下:报错后maintable变得不可用
按此在新窗口浏览图片

报错窗口的“详细信息”的内容为:

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

************** 异常文本 **************
System.ArgumentNullException: 值不能为空。
参数名: key
   在 System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   在 System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
   在 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   在 System.Data.DataView.System.Collections.IList.get_Item(Int32 recordIndex)
   在 System.Windows.Forms.BindingSource.get_Item(Int32 index)
   在 ??.?.??(Int32 row)
   在 C1.Win.C1FlexGrid.Row.get_DataSource()
   在 C1.Win.C1FlexGrid.C1FlexGridBase.?(Int32 row, Int32 col)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.GetCellGlyphs(Int32 row, Int32 col, Rectangle rc, Image& glyphLeft, Image& glyphRight, Image& glyphSort)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.?(Graphics g, Int32 row, Int32 col, Style s, Rectangle rc, String str, Image img, DrawCellFlags flags)
   在 C1.Win.C1FlexGrid.OwnerDrawCellEventArgs.DrawCell(DrawCellFlags flags)
   在 C1.Win.C1FlexGrid.C1FlexGridRenderer.OnDrawCell(C1FlexGridBase flex, OwnerDrawCellEventArgs e, CellType cellType)
   在 C1.Win.C1FlexGrid.GridRendererOffice2007.OnDrawCell(C1FlexGridBase flex, OwnerDrawCellEventArgs e, CellType cellType)
   在 C1.Win.C1FlexGrid.C1FlexGridRenderer.OnDrawCell(C1FlexGridBase flex, OwnerDrawCellEventArgs e)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.?(OwnerDrawCellEventArgs e)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.?(Graphics g, Int32 row, Int32 col, Style s, Rectangle rc, String str, Image img)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.DrawCell(Graphics g, Int32 row, Int32 col, Style s, Rectangle rc, String str, Image img, CheckEnum chk)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.DrawCell(PaintEventArgs e, Int32 row, Int32 col)
   在 C1.Win.C1FlexGrid.C1FlexGrid.DrawCell(PaintEventArgs e, Int32 row, Int32 col)
   在 C1.Win.C1FlexGrid.C1FlexGrid.DrawRow(PaintEventArgs e, Int32 row)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.?(PaintEventArgs e)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.OnPaint(PaintEventArgs e)
   在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
   在 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)


************** 已加载的程序集 **************
mscorlib
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Foxtable
    程序集版本: 2012.11.29.1
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
Foxtable.Lib
    程序集版本: 2012.11.29.1
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.Lib.DLL
----------------------------------------
System.Windows.Forms
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.VisualBasic
    程序集版本: 8.0.0.0
    Win32 版本: 8.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Data
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
C1.Win.C1Ribbon.2
    程序集版本: 2.0.20102.279
    Win32 版本: 2.0.20102.279
    基本代码: file:///D:/AtMetERP/C1.Win.C1Ribbon.2.DLL
----------------------------------------
Interop.JinDI_SmsComLib
    程序集版本: 1.0.0.0
    Win32 版本: 1.0.0.0
    基本代码: file:///D:/AtMetERP/Interop.JinDI_SmsComLib.DLL
----------------------------------------
System.Management
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Management/2.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
C1.Win.C1Command.2
    程序集版本: 2.0.20102.19458
    Win32 版本: 2.0.20102.19458
    基本代码: file:///D:/AtMetERP/C1.Win.C1Command.2.DLL
----------------------------------------
mscorlib.resources
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Transactions
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
    基本代码: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Configuration
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
Accessibility
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
C1.Win.C1FlexGrid.2
    程序集版本: 2.6.20102.554
    Win32 版本: 2.6.20102.554
    基本代码: file:///D:/AtMetERP/C1.Win.C1FlexGrid.2.DLL
----------------------------------------
0d1a2868.Project
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_City
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
Foxtable.Blank
    程序集版本: 0.0.0.0
    Win32 版本: 0.0.0.0
    基本代码: file:///D:/AtMetERP/Catch/Foxtable.Blank.dll
----------------------------------------
0d1a2868.DataTable.DA_Activity
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_ClassDepart
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_CLassMes
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_ClassUnit
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_Contact
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_Currency
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_Customer
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_DataClass
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_FeeBx
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_FeebxDetail
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_Message
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_Pay
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.DA_Product
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.FeeClass
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.QX_Audit
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.QX_AuditDetail
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.QX_Role
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.QX_RoleDetail
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.QX_User
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.Register
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.SYLog
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.SYModule
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.SYOnline
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.XSQuote
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.DataTable.XSQuoteDetail
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
Interop.MSScriptControl
    程序集版本: 1.0.0.0
    Win32 版本: 1.0.0.0
    基本代码: file:///D:/AtMetERP/Interop.MSScriptControl.DLL
----------------------------------------
0d1a2868.Form
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
C1.Win.C1Input.2
    程序集版本: 2.0.20102.33248
    Win32 版本: 2.0.20102.33248
    基本代码: file:///D:/AtMetERP/C1.Win.C1Input.2.DLL
----------------------------------------
System.Design
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Design/2.0.0.0__b03f5f7f11d50a3a/System.Design.dll
----------------------------------------
Neodynamic.WinControls.BarcodeProfessional
    程序集版本: 6.0.2000.0
    Win32 版本: 6.0.2000.15
    基本代码: file:///D:/AtMetERP/Neodynamic.WinControls.BarcodeProfessional.DLL
----------------------------------------
C1.Win.C1Chart.2
    程序集版本: 2.0.20102.20187
    Win32 版本: 2.0.20102.20187
    基本代码: file:///D:/AtMetERP/C1.Win.C1Chart.2.DLL
----------------------------------------
0d1a2868.Ribbon
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
System.Windows.Forms.resources
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_zh-CHS_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
0d1a2868.Public
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
C1.C1Zip.2
    程序集版本: 2.1.20102.69
    Win32 版本: 2.1.20102.69
    基本代码: file:///D:/AtMetERP/C1.C1Zip.2.DLL
----------------------------------------
System.Web
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5456 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
0d1a2868.Form.8d86096a
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.9f556901
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.8bd58f9a
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
C1.C1Report.2
    程序集版本: 2.6.20102.54119
    Win32 版本: 2.6.20102.54119
    基本代码: file:///D:/AtMetERP/C1.C1Report.2.DLL
----------------------------------------
pdyqwolj
    程序集版本: 2.6.20102.54119
    Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
C1.Win.C1Report.2
    程序集版本: 2.6.20102.54119
    Win32 版本: 2.6.20102.54119
    基本代码: file:///D:/AtMetERP/C1.Win.C1Report.2.DLL
----------------------------------------
0d1a2868.Form.09d0657b
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.db2395de
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
1cqv0xuk
    程序集版本: 0.0.0.0
    Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
0d1a2868.Form.cefbae8a
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.cefbae8a
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.35c68105
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.3fbf0b5b
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
0d1a2868.Form.e7c25f24
    程序集版本: 0.0.0.0
    Win32 版本: 2012.11.29.1
    基本代码: file:///D:/AtMetERP/Foxtable.exe
----------------------------------------
System.resources
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
    基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.resources/2.0.0.0_zh-CHS_b77a5c561934e089/System.resources.dll
----------------------------------------

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

例如: 

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

启用 JIT 调试后,任何无法处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。
[此贴子已经被作者于2013-3-6 9:47:00编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/3/6 9:58:00
--  

惭愧,我也看不出来,似乎是控件的一个bug。

能否总结一下规律,一般怎样操作会出现这样的问题?

窗口的这个表,如果设置了动态错误提示或者drawcell事件,你可以先删除这部分代码,看看还会不会出错。


--  作者:atmetmicoo
--  发布时间:2013/3/6 11:33:00
--  
狐爸,

我也总结不出规律来,我这几个月以来电脑上总共就出现过两三次这样的错误提示,但是陆续有其他用户反映,看来得研究一下。

关于表单事件代码,我就只有在主表关联的明细表中有辅助运算的代码,如下:
Select Case e.DataCol.Name
    Case "ProductPrice"
        e.DataRow("NoTaxPrice") = e.NewValue * (1-e.DataRow("TaxRate") )
        e.DataRow("BaseCurrencyPrice") = e.NewValue * e.DataRow("ExchRate")
        e.DataRow("TradingPrice") = e.NewValue * e.DataRow("zhekou")
    Case "zhekou"
        If e.NewValue > 1 Then
            MessageBox.Show("折扣值不允许大于1,系统自动调整为1")
            e.DataRow("zhekou") = 1
            e.DataRow("TradingPrice") =e.DataRow("ProductPrice")
        Else
            e.DataRow("TradingPrice") =e.DataRow("ProductPrice")*e.NewValue
        End If        
    Case "TradingPrice"
        If e.NewValue >   e.DataRow("ProductPrice") Then
            MessageBox.Show("折后价不得大于销售价")
            e.NewValue = e.OldValue
        End If
        e.DataRow("zhekou") = e.NewValue/e.DataRow("ProductPrice")
    Case "TaxRate"
        e.DataRow("NoTaxPrice") = e.DataRow("ProductPrice")* (1-e.NewValue)
    Case "ExchRate"
        e.DataRow("BaseCurrencyPrice") = e.NewValue * e.DataRow("ProductPrice")
    Case "NoTaxPrice"
        If e.DataRow("TaxRate") IsNot Nothing Then
            e.DataRow("ProductPrice") =e.NewValue / (1- e.DataRow("TaxRate") )
        End If
End Select