以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  为啥直接闪退了呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130429)

--  作者:zpsun2003
--  发布时间:2019/1/21 23:09:00
--  为啥直接闪退了呢?
程序中有句代码:dzpsyxsrmjcs = pszl480srxsewsz(Array.IndexOf(pszl480zxjsz,psggzxjcs),psggpscs-2)
其中:dzpsyxsrmjcs为double型变量;pszl480srxsewsz为定义的doouble型二维数组pszl480srxsewsz(200,200);pszl480zxjsz为定义的double型数组pszl480zxjsz(50)
psggzxjcs为double型变量,psggpscs为double型变量
出现闪退发现是这个代码有问题,Array.IndexOf(pszl480zxjsz,psggzxjcs)返回值为-1,在数组pszl480zxjsz中查找不到psggzxjcs变量,但为什么不提示是数组索引超出范围而是直接闪退呢?
程序运算量比较大,我是把代码放到线程里,通过窗口按钮启动线程的,和这有关系吗?



--  作者:有点甜
--  发布时间:2019/1/22 9:45:00
--  

1、先不启动线程处理;执行看报什么或者有什么异常;

 

2、请具体做一个例子测试,才知道你的问题。


--  作者:zpsun2003
--  发布时间:2019/1/22 10:02:00
--  
不用线程计算报以下错误:

.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,圆形寻优计算,btn-ksjs,Click
详细错误信息:
索引超出了数组界限。




--  作者:有点甜
--  发布时间:2019/1/22 10:41:00
--  

超出数值界限,说明你的数值不正确,如

 

Dim ary(3) As String
msgbox(ary(0))
msgbox(ary(-1))
msgbox(ary(5))