3370225 发表于 2012-7-16 12:42:39

求助,编译后怎么会出现 非数组变量使用了下标

本帖最后由 3370225 于 2012-7-16 12:45 编辑

Local $coord=PixelSearch(1296,114,1560,525,0x50a4c0)
MouseClick ( "right" ,$coord,$coord,1,0 )
Sleep(1000)
Local $coord1=PixelSearch(1296,114,1560,525,0xCBD0F6)
MouseClick ( "right" ,$coord1,$coord1,1,0 )

自己可以用,然后编译成EXE后发给别人会出现出错提示(非数组变量使用了下标).然后本机上EXE可以用,但是用几次后也出现这个,到底怎么回事?

suiyefeng 发表于 2012-7-16 18:37:22

成功: 返回一个含有两个元素的数组,分别储存着指定象素的坐标(Array = x , Array = y)
失败: 把 @error 设为 1,说明指定的颜色未被发现.

要判断是否返回的是个数组在用

veket_linux 发表于 2012-7-16 19:15:09

楼上正解

If @error Then
处理一下

或者 IsArray 判断一下

PixelSearch 返回值

成功: 返回一个含有两个元素的数组,分别储存着指定象素的坐标(Array = x , Array = y)
失败: 把 @error 设为 1,说明指定的颜色未被发现.


IsArray
--------------------------------------------------------------------------------
检查某个变量是否数组类型.

IsArray ( 变量 )

参数
变量 要检查的变量/表达式.

返回值

成功: 返回值为1.
失败: 返回值为0,说明给定变量/表达式并非数组.

tegl 发表于 2012-7-24 13:40:43

用这个多一些
If @error Then
页: [1]
查看完整版本: 求助,编译后怎么会出现 非数组变量使用了下标