TC官方合作论坛

标题: 在一次发同样的问题了,如果在解决不了,真心对TC失望了. [打印本页]

作者: ligancai    时间: 2012-11-21 19:52
标题: 在一次发同样的问题了,如果在解决不了,真心对TC失望了.
前天做了一个按键脚本,发给朋友用没有出现问题.可是我增加一个复选框代码在发给他运行脚本就出现应用程序错误.      不只是一台半台电脑出现这种情况,还有一部分人不能用.
以前本以为是TC多点找色的缘故,原来不单单是多点找色问题.而TC软件也有问题.本人用TC3.046.   
我希望这次能够有好的解决方法。


[attach]6242[/attach]


  1. #import "dm.dmsoft" dm
  2. 空间 结晶
  3. //定义默认空间
  4. int 线程状态
  5. 整型 线程句柄

  6. 功能 逻辑型 开始_点击()
  7. //这里添加你要执行的代码

  8. 整型 窗口句柄

  9. 窗口句柄=窗口.鼠标所在窗口句柄()
  10. 如果(窗口句柄==0) //判断是否获取到了窗口句柄
  11. 辅助.对话框("没有获取窗口句柄","信息",2,真)
  12. 否则
  13. 窗口.激活(窗口句柄)
  14. 辅助.等待(100)
  15. 窗口.还原(窗口句柄)
  16. 辅助.等待(100)
  17. //窗口.还原(窗口句柄字符串)

  18. //窗口.设置位置(窗口句柄,0,0)
  19. 辅助.等待(100)
  20. 整型 是否绑定成功
  21. 是否绑定成功=dm.BindWindow(窗口句柄,"normal","windows","windows",0)
  22. 如果(是否绑定成功==0)
  23. 辅助.对话框("绑定失败","βヽ信息",2,真)
  24. 如果结束
  25. 如果结束

  26. 循环(真)
  27. 遍历(100)

  28. 如果(单选框.获得状态("单选框0"))
  29. 辅助.等待(1000)
  30. dm.MoveTo(419,199)
  31. 辅助.等待(10)
  32. dm.LeftClick()
  33. 辅助.等待(500)
  34. dm.MoveTo(357,479)
  35. 辅助.等待(10)
  36. dm.LeftClick()
  37. 辅助.等待(500)
  38. dm.KeyPress(13)
  39. 辅助.等待(10)
  40. dm.KeyPress(13)
  41. 如果结束

  42. 如果(单选框.获得状态("单选框1"))
  43. 辅助.等待(1000)
  44. dm.MoveTo(555,196)
  45. 辅助.等待(10)
  46. dm.LeftClick()
  47. 辅助.等待(500)
  48. dm.MoveTo(357,479)
  49. 辅助.等待(10)
  50. dm.LeftClick()
  51. 辅助.等待(500)
  52. dm.KeyPress(13)
  53. 辅助.等待(10)
  54. dm.KeyPress(13)
  55. 如果结束

  56. 如果(单选框.获得状态("单选框2"))
  57. 辅助.等待(1000)
  58. dm.MoveTo(681,198)
  59. 辅助.等待(10)
  60. dm.LeftClick()
  61. 辅助.等待(1000)
  62. dm.MoveTo(357,479)
  63. 辅助.等待(10)
  64. dm.LeftClick()
  65. 辅助.等待(500)
  66. dm.KeyPress(13)
  67. 辅助.等待(10)
  68. dm.KeyPress(13)
  69. 如果结束

  70. 如果(单选框.获得状态("单选框3"))
  71. 辅助.等待(1000)
  72. dm.MoveTo(419,379)
  73. 辅助.等待(10)
  74. dm.LeftClick()
  75. 辅助.等待(500)
  76. dm.MoveTo(357,479)
  77. 辅助.等待(10)
  78. dm.LeftClick()
  79. 辅助.等待(500)
  80. dm.KeyPress(13)
  81. 辅助.等待(10)
  82. dm.KeyPress(13)
  83. 如果结束

  84. 如果(单选框.获得状态("单选框4"))
  85. 辅助.等待(1000)
  86. dm.MoveTo(555,373)
  87. 辅助.等待(10)
  88. dm.LeftClick()
  89. 辅助.等待(500)
  90. dm.MoveTo(357,479)
  91. 辅助.等待(10)
  92. dm.LeftClick()
  93. 辅助.等待(500)
  94. dm.KeyPress(13)
  95. 辅助.等待(10)
  96. dm.KeyPress(13)
  97. 如果结束

  98. 如果(单选框.获得状态("单选框5"))
  99. 辅助.等待(1000)
  100. dm.MoveTo(683,369)
  101. 辅助.等待(10)
  102. dm.LeftClick()
  103. 辅助.等待(500)
  104. dm.MoveTo(357,479)
  105. 辅助.等待(10)
  106. dm.LeftClick()
  107. 辅助.等待(500)
  108. dm.KeyPress(13)
  109. 辅助.等待(10)
  110. dm.KeyPress(13)
  111. 如果结束

  112. 如果(复选框.获得状态("复选框0"))
  113. 辅助.等待(500)

  114. 整型 按键=0
  115. 字符型 获取按键
  116. 获取按键=编辑框.获得文本("编辑框0")
  117. 循环(真)

  118. 辅助.等待(800)
  119. dm.MoveTo(606,465)
  120. 辅助.等待(10)
  121. dm.LeftClick()

  122. 按键=按键+1
  123. 如果(按键==(转换.字符型转整型(获取按键,0)))
  124. 跳出
  125. 如果结束
  126. 辅助.等待(100)
  127. 循环结束
  128. 如果结束

  129. 遍历结束
  130. 辅助.等待(100)
  131. 循环结束

  132. 返回 真
  133. //函数返回语句
  134. 功能结束

  135. 功能 逻辑型 退出_点击()
  136. //这里添加你要执行的代码
  137. 辅助.退出()

  138. 返回 真
  139. //函数返回语句
  140. 功能结束


  141. 功能 逻辑型 热键1_热键()
  142. //这里添加你要执行的代码
  143. 控件.可见("标签4",真)
  144. 控件.可见("标签5",真)
  145. 控件.有效("单选框0",真)
  146. 控件.有效("单选框1",真)
  147. 控件.有效("单选框2",真)
  148. 控件.有效("单选框3",真)
  149. 控件.有效("单选框4",真)
  150. 控件.有效("单选框5",真)
  151. 控件.有效("编辑框0",真)

  152. dm.UnBindWindow()

  153. 如果(线程状态==1)
  154. 线程.关闭(线程句柄)
  155. 线程状态=0
  156. 如果结束
  157. 返回 真
  158. 功能结束


  159. 功能 逻辑型 热键0_热键()
  160. //这里添加你要执行的代码
  161. 控件.可见("标签4",假)
  162. 控件.可见("标签5",假)
  163. 控件.有效("单选框0",假)
  164. 控件.有效("单选框1",假)
  165. 控件.有效("单选框2",假)
  166. 控件.有效("单选框3",假)
  167. 控件.有效("单选框4",假)
  168. 控件.有效("单选框5",假)
  169. 控件.有效("编辑框0",假)

  170. 如果(线程状态!=1)
  171. 线程句柄=线程.开启("结晶.开始_点击","")
  172. 线程状态=1
  173. 如果结束
  174. 返回 真
  175. 功能结束


  176. 功能 逻辑型 初始化()
  177. //这里添加你要执行的代码
  178. 逻辑型 是否成功=辅助.是否注册("dm.dmsoft")
  179. 如果(是否成功)
  180. 如果结束

  181. 是否成功=辅助.注册插件("rc:\\dm.dll",真)
  182. 如果(是否成功)
  183. 如果结束

  184. 返回 真
  185. 功能结束

  186. 空间结束
  187. //空间结束语句
复制代码


作者: 超自然    时间: 2012-11-21 20:49
开线程会给目标函数传递一个参数,为空记得会传一个随机数过去,而事件函数是不能传参进去的,估计8成是爆这里
要么就是一个很2的问题,插件到底注册好了没,你init里的判断什么作用都没,到底在目标机器注册成功了么??

作者: TC    时间: 2012-11-21 21:09
是运行一会报的,还是立马报
作者: ligancai    时间: 2012-11-21 21:26
回复 3楼TC的帖子

有的电脑一打开就出现出现错误.有的电脑打开后一开始线程就出现错误.
作者: ligancai    时间: 2012-11-21 21:40
回复 2楼超自然的帖子

加多一个消息框.看看用一段时间看看是不是你说的那个问题。
作者: tclhs    时间: 2012-11-22 05:12
用了大漠,是不是字库没有做好啊,找不到字库,出错的整个图片传上来。怎样出错的。
作者: 418958500    时间: 2012-11-22 05:36
是否成功=辅助.注册插件("rc:\\dm.dll",真)
  1. 是否成功=辅助.注册插件("rc:dm.dll",真)
复制代码

估计就是这里错了
如果资源路径是c:
读取的路径是:c:\\\\dm.dll 字符转义后 是c:\\dm.dll  这个路径是不符合规则的
作者: pixiangyun    时间: 2012-11-22 08:41
第一,线程状态没有赋值,二,大漠退出的时候需要解绑,第三,插件注册代码冗乱,第四,热键和界面不同步,因为现在身边没电脑,暂时说这些,等有电脑了再修改。




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