Foxtable(狐表)用户栏目专家坐堂 → SystemIdle错误


  共有2560人关注过本帖树形打印复制链接

主题:SystemIdle错误

帅哥哟,离线,有人找我吗?
yancheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
SystemIdle错误  发帖心情 Post By:2017/5/25 20:28:00 [只看该作者]

此主题相关图片如下:12.jpg
按此在新窗口浏览图片
sp?ID=95354" target="_blank">点击浏览该文件
此主题相关图片如下:22.jpg
按此在新窗口浏览图片

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:菜单-systemidle事件代码.txt



[此贴子已经被作者于2017/5/25 20:29:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/25 20:37:00 [只看该作者]

把systemIdle的代码,逐段注释掉,定位一下错误位置。

 

没有实例无法测试。


 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/25 20:53:00 [只看该作者]

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

************** 异常文本 **************
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
   在 System.Collections.ArrayList.get_Item(Int32 index)
   在 C1.Win.C1FlexGrid.RowCollection.get_Item(Int32 index)
   在 Foxtable.o_O0_oO0.O_0_OO_O(Object A_0, EventArgs A_1)
   在 System.Windows.Forms.Control.OnClick(EventArgs e)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 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.8669 (QFE.050727-8600)
    基本代码: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
等等。。。。。。

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

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



 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/25 20:56:00 [只看该作者]

全部代码都注释掉了,还是提示错误。



 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/25 21:05:00 [只看该作者]

上面的代码:全不注释。我把:操作的表,的表事件,当前行改变,的代码。把加载 的代码注释了。好像就不提示错了。但是,又未完成功能;请教一下,怎么改。这个代码。

If Tables("历史材料明细").Focused Then
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return '则返回
    End If
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("历史材料").Find("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
    If dr IsNot Nothing Then
        'DataTables("历史材料").RemoveFor("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")   (注释了这个)
        'DataTables("历史材料").AppendLoad("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")(注释了这个)
        wz = Tables("历史材料").FindRow(dr)
        If wz >= 0 Then
            Tables("历史材料").Position = wz
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/25 21:26:00 [只看该作者]

把你currenChanged事件的代码,写到click事件呢?代码可以不变。

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/26 8:54:00 [只看该作者]

放到:表的click里面,还是出现:

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.5.22.1
错误所在事件:
详细错误信息:
列“_Identify”被约束为是唯一的。值“73”已存在。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 9:02:00 [只看该作者]

试试

If Tables("历史材料明细").Focused Then
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return '则返回
    End If
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("历史材料").Find("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
    If dr IsNot Nothing Then
        SystemReady = False
        DataTables("历史材料").RemoveFor("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'") '  (注释了这个)
        DataTables("历史材料").AppendLoad("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")'(注释了这个)
        SystemReady = True
        wz = Tables("历史材料").FindRow("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
        If wz >= 0 Then
            Tables("历史材料").Position = wz
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/26 9:42:00 [只看该作者]

If Tables("历史合同明细").Focused Then
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return '则返回
    End If
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("历史合同").sqlFind("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")
    If dr IsNot Nothing Then
        SystemReady = False
        DataTables("历史合同").RemoveFor("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'") '  (注释了这个)
        DataTables("历史合同").AppendLoad("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")'(注释了这个)
        wz = Tables("历史合同").FindRow("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")
        If wz >= 0 Then
            Tables("历史合同").Position = wz
            Tables("历史合同").Current.BackColor = Color.Red(请教这一行,应该怎么写,定位到这一行。颜色改为红色?)我原来 有背景颜色 ,在多地设置颜色后,有时颜色就不是我想要的了。)
        End If
        SystemReady = True
    End If
End If

问:1、用上面的代码,感觉没出错了。不明白为什么不出这么严重的错误。数据都删除了?请问老师,之前的问题,出在哪里了?下次注意一下。
2、红色部分,怎么改代码?
[此贴子已经被作者于2017/5/26 9:47:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/26 10:08:00 [只看该作者]

我又运行试了一下:

If Tables("历史材料明细").Focused Then
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return '则返回
    End If
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("历史材料").sqlFind("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
    If dr IsNot Nothing Then
msgbox(0)
        SystemReady = False
        DataTables("历史材料").RemoveFor("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'") '  
        DataTables("历史材料").AppendLoad("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")'
        wz = Tables("历史材料").FindRow("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
        If wz >= 0 Then
msgbox(1)
            Tables("历史材料").Position = wz
        End If
        SystemReady = True
    End If
End If

问:1、msgbox(0) 都 能弹出 ;但是msgbox(1) 在多单击几次后,就不弹出了。(每一次打开窗口能弹出);我感觉是RemoveFor("[历史材料编号] 执行了移出,AppendLoad("[历史材料编号] ,没有执行加载 ;
[此贴子已经被作者于2017/5/26 10:07:58编辑过]

 回到顶部
总数 14 1 2 下一页