TC官方合作论坛

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

[问题] 一开多线程大漠就提示“坐标越界大于窗口高度”,分析的头都疼了也不知道怎么回事

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-17 00:50:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
大体脚本如下,在这里是把检测线程的开启放在主线程1里面的,见红色部分(之前2个都放在开始按钮点击事件里面,结果一点就程序卡死,只好改成现在这样)。但是现在的情况就是检测线程启动30秒左右后就会弹出提示说“坐标越界y1大于窗口高度”,偏偏这个y1又是主线程2(功能跟主线程1差不多,只是加多了一些判断,分别在不同的情况下开启,不会同时开启)里面找图的坐标,可是实际上我开启的仅仅只是主线程1,跟主线程2都没任何关系的呀?这到底是怎么回事呢


功能 逻辑型 主线程1()
    窗口句柄=窗口.找到窗口("BS")
    窗口.设置位置(窗口句柄,0,0)   
    辅助.等待(50)
    窗口.激活(窗口句柄)
    辅助.等待(50)
    DM.SetPath(辅助.获取资源路径("rc:"))
  线程检测=线程.扩展开启("测试.检测闪退","","测试.线程销毁3","")            //开启多线程检测闪退
    DM.BindWindow(窗口句柄,"normal","normal","normal",0)
    循环(真)
/////////////////////中间脚本部分略过不提//////////////////////////
    循环结束     
    返回 真
功能结束

功能 逻辑型 主线程2()
/////////////////////中间脚本部分略过不提//////////////////////////
    返回 真
功能结束

功能 逻辑型 检测闪退()
    窗口句柄=窗口.找到窗口("BS")
    DM.SetPath(辅助.获取资源路径("rc:"))
    DM.BindWindow(窗口句柄,"normal","normal","normal",0)      
   //30秒循环一次,检测游戏是否闪退
   循环(真)  
        辅助.等待(30000)            
        DM.FindPic(100,68,988,239,"zh.bmp","000000",1.0,0,x4,y4)
        如果(x4>0)
            线程.关闭(线程句柄1)      //关闭主线程1
            线程.关闭(线程句柄2)      //关闭主线程2
            辅助.等待(300)   
            线程句柄1=线程.扩展开启("测试.主线程1","","测试.线程销毁1","")
            跳出   
        如果结束
        辅助.等待(300)
    循环结束
    返回 真
功能结束



回复

使用道具 举报

沙发
 楼主| 发表于 2012-7-17 01:47:06 | 只看该作者
经过多次测试,发现问题出在这一句     DM.FindPic(1072,677,1279,719,"断网.bmp","202020",1.0,1,断网x,断网y)
但是还是没搞懂为什么到这里就出错,这个纵坐标677<719,是对的啊
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-7-17 01:51:59 | 只看该作者
改为DM.FindPic(0,0,1279,719,"断网.bmp","202020",1.0,1,断网x,断网y)    就没有问题,费解啊费解
回复 支持 反对

使用道具 举报

地板
发表于 2012-7-17 11:27:09 | 只看该作者
这种多个线程 公用1个 rc:下的资源 很容易出现资源独占的问题,实际应用意义不大
回复 支持 反对

使用道具 举报

5#
发表于 2012-7-17 14:39:49 | 只看该作者
此问题多见于窗口最小化了,一般都是像在使用GDI DX2,3模式之类的时候 窗口最小化就会出现这样子情况
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2012-7-17 16:43:31 | 只看该作者
我这个不是最小化的问题,问题就出在上面那一句找图里面。。。至于原因,还是未知 反正把坐标范围动一下又好了
回复 支持 反对

使用道具 举报

7#
发表于 2012-11-14 12:13:41 | 只看该作者
回复 6楼最爱念的帖子

改了坐标就好了,那说明,你要找的图片不在1072,677,1279,719,这个范围内,而是在这个位置的更左上方
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2012-11-15 10:30:03 | 只看该作者
回复 6楼最爱念的帖子

改了坐标就好了,那说明,你要找的图片不在1072,677,1279,719,这个......
women17lai8 发表于 2012-11-14 12:13:41

呵呵几个月前的帖子被你翻出来了。。当时改的新坐标也是在之前坐标范围内的好像,应该是以前版本的某个未知的bug
回复 支持 反对

使用道具 举报

9#
发表于 2012-11-15 17:07:09 | 只看该作者
回复 8楼最爱念的帖子

可能是你截图的范围太大 截图的范围比你时间要检测的的图像范围大 如果你的搜索范围太靠近检测的图像的话截图边缘左边的坐标就超出了你的范围
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2012-11-15 19:42:12 | 只看该作者
回复 8楼最爱念的帖子

可能是你截图的范围太大 截图的范围比你时间要检测的的图像范围大 如......
厄尔巴斯 发表于 2012-11-15 17:07:09

额。也许吧。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-9 00:17 , Processed in 0.182788 second(s), 25 queries .

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

© 2001-2013 Comsenz Inc.

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