TC官方合作论坛

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

[已解决] 多线程操作多窗口问题!急!!!

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-14 13:36:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
别让我看官方教程..我看了五遍了.到现在都不懂..!!!!!!!!!!
运行提示数组越界..单步调试..指针跳来跳去..我都晕了

求好心人解答!!!!!!

namespace TEST   
string[] rstr                           //窗口数组
int number,add                       //number 窗口数量..ADD窗口数量叠加

function bool messagebox()                //自动喊话
   
    string message = edit.gettext("edit0")                //获得编辑框中的文本内容
   
    int windows = convert.strtoint(rstr[add])
    window.postkeypress(windows,13)               //回车
    help.sleep(100)
    window.poststring(windows,message)           //发送内容
    help.sleep(100)
    window.postkeypress(windows,13)
    help.sleep(50)
    return true
endfunction


function bool FindWindow()      //找窗口

    string windowclass = system.enum("WSGAME",1)        //枚举窗口类名
   
  if(windowclass !="")                                         //窗口类名不等于空则执行分割等操作
        str.split(windowclass,"|",rstr)
        array.size(rstr,number)
     while (add<number)                                              //窗口叠加数不可以超过窗口数量

            thread.beginthread("TEST.messagebox",rstr[add])           //**************多线程开启*************
            add = add +1                                                               //叠加执行下一个数组里的窗口

     endwhile
  endif
     
    return true
endfunction


function bool start_click()
TEST.FindWindow()
return true
endfunction
回复

使用道具 举报

沙发
发表于 2012-10-14 13:39:56 | 只看该作者
add没有初始化
rstr也没有初始化
加上
add=0
rstr=string[1]
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-10-14 13:45:37 | 只看该作者
回复 2楼爱玩的一休的帖子

整形需要初始化?默认不是0
rstr 调试的时候获取到了窗口的句柄.所以也没问题
回复 支持 反对

使用道具 举报

地板
发表于 2012-10-14 13:50:25 | 只看该作者
如果不懂的话,最好从中文编程开始,这是最好的学习方法, 自己学习东西要找到那个才容易学
回复 支持 反对

使用道具 举报

5#
发表于 2012-10-14 13:51:35 | 只看该作者
我是这么理解的。。比如数组大小获得的是2  那数组只有[0]和[1]      所以你再  add = add +1                    就有了下标[2]   就越界啦
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2012-10-14 13:54:35 | 只看该作者
回复 4楼stxuhong的帖子

呵呵..我看到中文代码就头大..看英文顺眼一点..我巴不得官方做一些英文的出来
我每次都还要翻译成英文
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-10-14 13:56:24 | 只看该作者
回复 5楼shine宝宝的帖子

这我知道.但是我不知道怎么解决这个问题
喊话部份一句也没有执行.就算越界了..也起码要先运行成功一次吧
回复 支持 反对

使用道具 举报

8#
发表于 2012-10-14 13:58:02 | 只看该作者
在循环加个如果 适当时候跳出 就不要add++了
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2012-10-14 14:02:39 | 只看该作者
回复 8楼shine宝宝的帖子

  大神帮我改一下代码吧.照你说的做了..直接卡死在那了
回复 支持 反对

使用道具 举报

10#
发表于 2012-10-14 14:21:26 | 只看该作者
如果你真的想让别人帮你的话,这些代码翻译成中文应该没有问题吧,你又不是外国人,何必呢!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-10 02:35 , Processed in 0.610591 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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