以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  for 循环读取文件报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190783)

--  作者:puma
--  发布时间:2024/3/4 10:34:00
--  for 循环读取文件报错
for 循环读取文件报错 ,有时候报错?,不是每次都报错。
每次循环,写数据到table 里

文件多了,会报错


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

************** 异常文本 **************
System.InvalidOperationException: BindingSource 不能是自己的数据源。请不要将 DataSource 和 DataMember 属性设置为循环引用 BindingSource 的值。
   在 System.Windows.Forms.BindingSource.get_Count()
   在 #s5.#nhb.#7gb(Int32 #j)
   在 C1.Win.C1FlexGrid.Row.get_DataSource()
   在 C1.Win.C1FlexGrid.C1FlexGridBase.#ldb(Int32 #j, Int32 #l)
   在 #s5.#Ojb.#9ib(MouseEventArgs #tQ, Int32 #j, Int32 #l)
   在 #s5.#Ojb.#8ib(MouseEventArgs #tQ)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.OnMouseMove(MouseEventArgs e)
   在 System.Windows.Forms.Control.WmMouseMove(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)

图片点击可在新窗口打开查看
图片点击可在新窗口打开查看
[此贴子已经被作者于2024/3/4 10:45:59编辑过]

--  作者:puma
--  发布时间:2024/3/4 10:38:00
--  
图片点击可在新窗口打开查看
If e.Col.Name = "进度" AndAlso e.Row.IsNull("进度") = False Then
    e.StartDraw()
    Dim 进度 As Integer= e.Row("进度")
    Dim Width As Integer = (e.Width - 2) * 进度 \\ 100
    \'Dim Width As Integer = (e.Width - 2) * e.Row("进度") \\ 100
    
    \'e.Row("进度") = e.Row("进度")
    
    If 进度 = 100 Then
        e.Graphics.FillRectangle(Brushes.Green, e.x + 1, e.y + 1, Width, e.Height - 2)
    Else
        e.Graphics.FillRectangle(Brushes.Red, e.x + 1, e.y + 1, Width, e.Height - 2)
    End If
    e.EndDraw()
    
End If

If   e.Col.Name = "状态" Then
    e.StartDraw()
    If e.Row(e.Col.Name) ="重复" Then
        e.Graphics.FillRectangle(Brushes.Red, e.x+1, e.y+1, e.Width-2 , e.Height-2 )
    Else If e.Row(e.Col.Name) ="失败" Then
        e.Graphics.FillRectangle(Brushes.YELLOW, e.x+1, e.y+1, e.Width-2 , e.Height-2 )
    End If
    e.EndDraw()


    \'Else
    \'
    \'e.Graphics.FillRectangle(Brushes.Green, e.x, e.y, e.Width , e.Height )
End If
[此贴子已经被作者于2024/3/4 10:51:07编辑过]

--  作者:有点蓝
--  发布时间:2024/3/4 11:06:00
--  

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


调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错

--  作者:puma
--  发布时间:2024/3/4 12:12:00
--  
图片点击可在新窗口打开查看
--  作者:puma
--  发布时间:2024/3/4 12:12:00
--  
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index

--  作者:puma
--  发布时间:2024/3/4 13:04:00
--  
Functions.asyncExecute("函数")  \'报错,
Functions.Execute("函数")   \'正常

同步执行函数,就报错误。

--  作者:有点蓝
--  发布时间:2024/3/4 13:31:00
--  
函数里什么代码?