按键精灵下标越界怎么解决

Hwnd=Plugin.Window.MousePoint()sRect=Plugin.Window.GetClientRect(Hwnd)MyArray=Split(s... Hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
MyArray = Split(sRect, "|")
x = MyArray(0)
y = MyArray(1)
i = 0

Dim intX()
Dim intY()
intX(0)=0
intY(0)=0
提示是INTX,INTY下标越界
展开
 我来答
帐号已注销
2013-10-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6449
采纳率:69%
帮助的人:2172万
展开全部
你没有分配内存给数组IntX,IntY,应写成:
Dim intX(1) //后面要写具体整形不小于0的数。
Dim intY(1)
为了安全,你可以把数组内存分配大一点,如果你不确定数组个数,可以用ReDim
例如
m=10
ReDim a(m),b(m)
也可以,其中m可以根据实际情况取值,例如m=UBound(MyArray),这样就不会出现越界问题了。
1218607144
2013-10-09
知道答主
回答量:32
采纳率:0%
帮助的人:17.3万
展开全部
Dim intX() //你这个根本没有定义数组.
Dim intY() //你这个根本没有定义数组.
intX(0)=0 //没有定义数组,你却用了 肯定会出错啊
intY(0)=0 //没有定义数组,你却用了 肯定会出错啊
追问
那怎样定义?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赛琴台寄云
2019-02-14 · TA获得超过3979个赞
知道大有可为答主
回答量:3209
采纳率:24%
帮助的人:236万
展开全部
sRect
=
Plugin.Window.GetClientRect(Hwnd)这句,当sRect的值没有成功获取时,sRect就不是数组。
Split(Rect,"|")就会出错,因为split是针对数组操作的,而sRect不是数组,所以后面会下标越界
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式