TC官方合作论坛

 找回密码
 立即注册
查看: 546|回复: 11
打印 上一主题 下一主题

[已解决] 这是我系统问题?dm变量不是数组对象……

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-12 04:44:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
///////////////////////////////////////////////////插件注册是成功的,视频演示正常,但我用着却老错误,越改越偏。。。。
//////////////////////////////这是对象没有成功 添加到数组的意思么?
//默认空间
变量 dm=数组[]
变量 线程句柄数组=数组[]
功能 开启_点击()
    var 句柄数组,大小
    句柄串=系统.枚举("坠星大陆",0)
    字符串.分割(句柄串,"|",句柄数组)
    数组空间.大小(句柄数组,大小)
    遍历(i=0;i<大小;i++)
        线程参数=句柄数组[i]&","&i
        大漠对象=com("dm.dmsoft")
        数组空间.增加(dm,大漠对象)
        线程句柄=线程.扩展开启("大漠多开测试.线程测试",线程参数,"大漠多开测试.解绑",i)
        数组空间.增加(线程句柄数组,线程句柄)
    遍历结束   
功能结束
功能 线程测试(参数)
    var 参数数组
    字符串.分割(参数,",",参数数组)
    hwnd=参数数组[0]
    下标=参数数组[1]
    traceprint("hwnd:"&hwnd)
    traceprint("下标:"&下标)
    dm_ret = dm[下标].BindWindow(hwnd,"dx","dx","dx",0)
    辅助.等待(1000)
    循环(真)
        dm[下标].KeyPress(27)
        辅助.等待(500)
    循环结束
功能结束
回复

使用道具 举报

8#
发表于 2014-1-12 18:04:21 | 只看该作者
上面的代码基本没上面问题,如果报错,会告诉你具体是哪一行出错,你得把那行贴出来,就比较方便找到问题的原因;第二,你上面的代码,有一个漏洞,枚举的话你最好给返回值一个判定,看是否返回值为空。因为如果返回值是空,那么你分割后,句柄数组[0]=“”,大小为1,传递到后面,hwnd就为空,那么绑定就会报错。
回复 支持 反对

使用道具 举报

12#
发表于 2014-1-15 22:59:09 | 只看该作者
kaixindexifan 发表于 2014-1-12 23:59
你觉得哪里错了?错在哪里呢?

他那FOR那样写,貌似一次都木有执行啊
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2014-1-13 03:52:00 | 只看该作者
a735311619 发表于 2014-1-12 08:43
补助一点:你可能会问,为什么不执行for语句就会弹不是数组啊什么的报错。
      回答:因为你的数组是空 ...

改成下面的就正常了。。。。不是FOR的关系。谢谢你的回复
遍历 (i=0;i<pid大小;i++)

        变量 jb数组,jb大小,ib,句柄数组
        jbsz = 对象.EnumWindowByProcessId(pid数组,"","",1+8+16)
        字符串.分割(jbsz,",",jb数组)
        数组空间.大小(jb数组,jb大小)               
        size
        arraysp.size(dm,size)
        dm=arraysp.alloc(dm,true,size+1)
        dm[size]=com("dm.dmsoft")
        线程参数=jb数组[0]&","&i
        线程句柄=线程.扩展开启("我的脚本.主线程",线程参数,"我的脚本.解绑",i)         
         线程句柄=线程.开启("我的脚本.信息获取",线程参数)  
        辅助.等待(2000)   
        数组空间.增加(线程句柄数组,线程句柄)
    遍历结束
回复 支持 反对

使用道具 举报

10#
发表于 2014-1-12 23:59:50 | 只看该作者
a735311619 发表于 2014-1-12 21:44
额,没注意了,不过他的for应该写错了吧

你觉得哪里错了?错在哪里呢?
回复 支持 反对

使用道具 举报

9#
发表于 2014-1-12 21:44:26 | 只看该作者
kaixindexifan 发表于 2014-1-12 17:37
他用for控制没问题,没有遍历也就没运行线程,是一一对应的

额,没注意了,不过他的for应该写错了吧
回复 支持 反对

使用道具 举报

7#
发表于 2014-1-12 17:37:53 | 只看该作者
a735311619 发表于 2014-1-12 08:40
你的for语句应该没有被执行,因为你的变量“大小”没有填写值,我记得貌似没写值默认为“0” 也就是说当执 ...

他用for控制没问题,没有遍历也就没运行线程,是一一对应的
回复 支持 反对

使用道具 举报

6#
发表于 2014-1-12 12:46:26 | 只看该作者
你在数组那里打断点,f8看一下数组里面的数据,然后f8,f8一步部走一圈代码,就知道了,这个很管用
回复 支持 反对

使用道具 举报

5#
发表于 2014-1-12 10:13:08 | 只看该作者
啊拉。我飘过~~
回复 支持 反对

使用道具 举报

地板
发表于 2014-1-12 08:43:54 | 只看该作者
a735311619 发表于 2014-1-12 08:40
你的for语句应该没有被执行,因为你的变量“大小”没有填写值,我记得貌似没写值默认为“0” 也就是说当执 ...

补助一点:你可能会问,为什么不执行for语句就会弹不是数组啊什么的报错。
      回答:因为你的数组是空值,而且空间大小也没设定,就会报错,应该是这个样子。
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-29 06:44 , Processed in 0.212270 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表