跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

易语言数组下标错误:怎么解决数组下标必须大于等于1的问题?

大家好,我是陈景序,今天我们来聊聊易语言中一个常见的问题:数组下标必须大于等于1的错误。这个问题很多开发者都遇到过,下面我们就来一起看看怎么解决它。

错误描述与提示

当你看到这样的错误提示:

错误提示:

报错界面给出了2个错误值:

67174405 = 0x4010005

81 = 0x51

这时候,你可能一脸懵逼,不知道这代表什么意思。0x4010005 的意义我对照PE无法定位。有知道的请告知,谢谢。

查找方法

别急,我们可以通过OD工具来查找问题所在。

OD->右键->查找->命令 搜索

push 0x4010005

可能获取到多个地址,可以通过

push 0x51 继续做判断

结合上下代码判断报错的位置,进行错误判断。

易语言数组判断代码示例

0040113C  |.  68 51000000   push 0x51。               --
00401141  |.  68 05000104   push 0x4010005          --
00401146  |.  68 04000000   push 0x4.                -- 
0040114B  |.  E8 2C010000   call 111.0040127C. ---1 (index < 1)
00401150  |.  83C4 0C       add esp,0xC
00401153  |>  59            pop ecx                                
00401154  |.  5B            pop ebx                                
00401155  |.  3BC1          cmp eax,ecx
00401157  |.  7C 17         jl short 111.00401170
00401159  |.  68 51000000   push 0x51
0040115E  |.  68 05000104   push 0x4010005
00401163  |.  68 01000000   push 0x1
00401168  |.  E8 0F010000   call 111.0040127C. --2 (index > len(arr))

以上就是易语言数组下标错误的一些解决方法。如果你还有其他问题,欢迎在评论区留言讨论。

我是陈景序,来自「websoft网络软件专家」(www.phpwebsoft.com),如果你对Web开发感兴趣,欢迎关注我们的网站,了解更多内容。

相关文章