TC官方合作论坛

标题: 大漠线程停止后窗口不能点击操作的问题,有木有人遇到? [打印本页]

作者: yuguicheng    时间: 2015-9-3 15:27
标题: 大漠线程停止后窗口不能点击操作的问题,有木有人遇到?
本帖最后由 yuguicheng 于 2015-9-4 15:45 编辑

线程停止后 ,窗口不能操作,大家看看哪儿不对?   
如果多点击一下停止线程 好像有时就可以操作了,或者重新激活一下窗口 又能能了,按键精灵不会这样,这个是不是TC的 BUG 无解? 求高手指教


好吧!我重新整理出完整代码。看看为何停止后 窗口鼠标点击不了!
  1. 变量 线程句柄
  2. 变量 dm
  3. //开始按钮_点击操作
  4. 功能 开始_点击()
  5.     变量 文本=按钮获取文本("开始")
  6.     如果(文本=="启动")
  7.         等待(2000)
  8.         变量 句柄 = 窗口获取鼠标所在句柄() //鼠标指向获取窗口句柄
  9.         dm = 插件("dm.dmsoft") //创建大漠对象
  10.         dm.SetPath(获取资源路径("rc:"))//设置大漠资源路径
  11.         dm.SetDict(0,"GCB.txt")//设置大漠默认字库
  12.         变量 ret = dm.BindWindow(句柄,"dx","dx","dx",0)
  13.         //绑定窗口
  14.         如果(ret != 1)
  15.             消息框("绑定窗口失败","提示")
  16.             返回 -1
  17.         结束
  18.         线程句柄 = 线程开启("主程序",句柄)//开启线程
  19.         按钮设置文本("开始","停止")
  20.     否则如果(文本=="停止")
  21.         线程关闭(线程句柄)//停止该窗口线程
  22.         dm.UnBindWindow() //大漠窗口解绑
  23.         线程句柄 = null  //把该线程句柄元素清空
  24.         dm = null  //把该大漠对象元素清空
  25.         按钮设置文本("开始","启动")
  26.     结束
  27.     等待(1000)
  28. 结束

  29. 功能 主程序(句柄)
  30.     循环(1)
  31.         变量 tm=当前时间()
  32.         循环((时间间隔("s",tm,当前时间()))<10)
  33.             //移动到攻击技能
  34.             dm.MoveTo(397, 131)
  35.             等待(100)
  36.             dm.LeftClick()
  37.             等待(1000)
  38.         结束
  39.         循环((时间间隔("s",tm,当前时间()))<5)
  40.             //移动到吸气技能
  41.             dm.MoveTo(425, 438)
  42.             等待(100)
  43.             dm.LeftClick()
  44.             等待(1000)
  45.         结束
  46.         等待(500)
  47.     结束
  48. 结束
复制代码





下面的不要看了。
  1. //开始按钮_点击操作
  2. 功能 开始_点击()
  3.     dm = 插件("dm.dmsoft") //创建大漠对象
  4.     dm.SetPath(获取资源路径("rc:"))//设置大漠资源路径
  5.     dm.SetDict(0,"GCB.txt")//设置大漠默认字库
  6.     变量 ret = dm.BindWindow(句柄,"dx","dx2","dx",0)//绑定窗口
  7.     如果(ret != 1)
  8.         消息框("绑定窗口失败","提示")
  9.         返回 -1
  10.     结束
  11.     线程句柄 = 线程开启("主程序",句柄)//开启线程
  12. 结束

  13. //退出按钮_点击操作
  14. 功能 退出_点击()
  15.     线程关闭(线程句柄)//停止该窗口线程
  16.     dm.UnBindWindow() //大漠窗口解绑
  17.     线程句柄 = null  //把该线程句柄元素清空
  18.     dm = null  //把该大漠对象元素清空
  19. 结束
复制代码









作者: hk530944    时间: 2015-9-4 05:50
解绑要有窗口对象吧
作者: 250366688    时间: 2015-9-4 06:06
代码 不全, 不过我很奇怪, 你在  a函数里生命的大漠插件   怎么穿进去的b函数, 而且调用dm.unwindows 居然没崩溃
作者: 250366688    时间: 2015-9-4 06:08
全局变量么 主程序的代码一个看不见  求解个问题还小气  罢了罢了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1