TC官方合作论坛

标题: 心里不踏实的一个用法:可否直接调用控件命令 [打印本页]

作者: soksolon    时间: 2015-12-13 23:57
标题: 心里不踏实的一个用法:可否直接调用控件命令
本帖最后由 soksolon 于 2015-12-14 00:01 编辑

比如UI上放个“获取”和“识别”两个按钮:

  1. 功能 获取_点击()
  2. ……
  3. 结束
复制代码
可否这样使用,一个控件命令中嵌套另一个控件命令:
  1. 功能 识别_点击()

  2. 获取_点击()

  3. 结束
复制代码

我知道这个简单测试是没有什么问题的。因为我一直这么用,然,最近写个几千行的程序经常性崩溃,想是否和频繁使用这种控件命令直接调用有关。而单个功能模块测试又没什么问题。不知道该从哪下手排查了。




作者: cjxdn    时间: 2015-12-14 00:10
换线程开启试试?
作者: soksolon    时间: 2015-12-14 00:51
本帖最后由 soksolon 于 2015-12-14 00:56 编辑
cjxdn 发表于 2015-12-14 00:10
换线程开启试试?

谢谢建议,我找到原因了,使用了打码兔插件,必须使用下面命令及时释放资源,否则程序执行完就会出错。
另开线程的时候才会崩溃,正式使用的时候肯定是另开线程不让主窗口卡死。

而单功能测试的时候都没另开线程,直接使用主窗口现成,所以没发现这个问题。

这是说明主窗口线程能自动管理,子线程无法自动管理?


        //释放资源
        Dama2=com("Dama2Ctrl")
        Dama2.Uninit()

作者: 超自然    时间: 2015-12-14 08:39
soksolon 发表于 2015-12-14 00:51
谢谢建议,我找到原因了,使用了打码兔插件,必须使用下面命令及时释放资源,否则程序执行完就会出错。
另 ...

你的对象要在线程内创建,
诸如VB之类写的com都不能支持多线程,C写的就可以,大漠是C写的,所以创建全局,线程引用的格局是可以的,
作者: 超自然    时间: 2015-12-14 08:39
soksolon 发表于 2015-12-14 00:51
谢谢建议,我找到原因了,使用了打码兔插件,必须使用下面命令及时释放资源,否则程序执行完就会出错。
另 ...

你的对象要在线程内创建,
诸如VB之类写的com都不能支持多线程,C写的就可以,大漠是C写的,所以创建全局,线程引用的格局是可以的,




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