TC官方合作论坛

 找回密码
 立即注册
查看: 1848|回复: 1

【剑仙教程】TC 简单开发:多窗口_多开单停。

[复制链接]
发表于 2016-4-23 16:58:52 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

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

x

[问题] TC有线程结束 事件吗?

楼主 似此星辰非昨夜

如题,想在线程结束的时候自动触发一些命令,比如释放大漠对象、解绑窗口等。如果没有的话,大家都是怎么解决的?

回复

沙发 来不及的来得及 发消息

线程最后面不就是么

回复

板凳 cjxdn 发消息

在功能最后面加不就行了吗

回复

6# 似此星辰非昨夜 发 消息

引用: cjxdn 发表于 2016-4-22  23:08

变量 线程ID

不行的
如果这个线程是被其他线程结束的呢?意外终止是不会执行到最后。
回复

7# cjxdn 发消息

变量 句柄=线程开启("threadfunction","")

变量 state=线程获取状态(句柄)

线程状态不是开启的,就进行  释放大漠对象、解绑窗口。
回复




10# 言术 发消息

我来说下思路:

1)如果线程可以自己结束,只需要在最后添加即可

2)如果线程是死循环或想提前结束,你需要手动打断它吧(比如按某键),在这里添加你想执行的

回复


10#的方法很赞。估计楼主说的,,是下面这个方法。
TC 简单开发:多窗口_多开单停。
没有学过对象和类的新手,认为创造出来的大漠对象,只能这样写:
  dm.UnBindWindow()
不曾知道创造的大漠对象可以这样写:
  dm0.UnBindWindow()


var 线程ID0, dm0 //定义全局变量。

dm0 = com("dm.dmsoft")//创造大漠对象。

var path = 获取资源路径("rc:")

var ret = dm0.SetPath(path) //把TC的资源路径,设为大漠的全局路径。


这里有个小技巧。创造多个对象,多窗口还可以多开单停。

var 线程ID0, 线程ID1, 线程ID2, 线程ID3
var dm0,dm1,dm2,dm3 //定义四个全局变量。

dm0 = com("dm.dmsoft")//创造大漠对象。

dm1 = com("dm.dmsoft")//创造大漠对象。

dm2 = com("dm.dmsoft")//创造大漠对象。

dm3 = com("dm.dmsoft")//创造大漠对象。

function 停止0_热键()
  线程关闭(线程ID0)
  dm0.UnBindWindow()
end

function 停止1_热键()
  线程关闭(线程ID1)
  dm1.UnBindWindow()
end

回复

使用道具 举报

 楼主| 发表于 2016-4-23 17:27:13 来自手机 | 显示全部楼层

[软件建议] 建议TC增 加创造对象的概念。  除了能创造控件,还能能创造其它对象。


先用TC举例子。。

看见工具箱里的按钮了吗?按钮就是一个类。。

把他拿出来后。就会有按钮0,按钮1,按钮2,按钮3,…………

这就是对象。

基因模版、类是虚的。按钮0,按钮1,这些是实的。

所以我们把这个操作叫做实例化对象。也就是创造一个新对象。

用JAVA写一个很简单的代码,都要建类和创造对象。

对象的三要素:属性。方法。事件。



这是一门仿生学。

在电脑中模拟真实的世界。真实的属性。

TC界面控件,已经有了对象的概念。

0、建立对象

编辑框0.创建()

1、对象的属性

编辑框0.有效=

编辑框0.可见=

.

编辑框0.x座标=

编辑框0.y座标=

编辑框0.宽度=

编辑框0.高度=

2、对象的方法

编辑框0.获得文本()

编辑框0.设置文本()

3、对象的事件

编辑框0.内容改变()

编辑框0.获得焦点()

编辑框0.失去焦点()

这样看帮助文档,TC的控件,已经有了创造对象,使用的概念。

除了创造界面控件,创造其它的对象怎样操作??

比如

我要创造“小树”这个对象,要怎样创造??

创造“小树里面的功能函数”,要怎样创造??

//

//

创造对象,小树

.

小树.直径=0.6

小树.高度=2

//

小树.生长速度=

小树.光合作用=

小树.呼吸作用=

//

小树.杀虫事件

小树.浇水事件

小树.施肥事件

小树.裁剪事件

……

……

TC可以创造类,创造对象?

回复 编辑

沙发 剑仙十号




建议TC增 加创造对象的概念。  除了能创造控件,还能能创造其它对象。

用大漠插件来理解。

var dm0 //定义一个全局变量。

dm0 = com("dm.dmsoft")//创造大漠对象。

var path = 获取资源路径("rc:")

var ret = dm0.SetPath(path) //把TC的资源路径,设为大漠的全局路径。

.

.

.

.

模仿一下,

我使用TC编辑器,就可以创造

大漠0  一样的对象出来(银河0),并且可以在银河0  里面写功能函数。

需要时,就可以调用 银河0  这个对象和类里面的函数。

银河0.鼠标移动()

银河0.键盘按键()

银河0.找图()

银河0.找色()

这里有个小技巧。创造多个大漠对象,多窗口还可以多开单停。

var dm0,dm1,dm2,dm3 //定义四个全局变量。

dm0 = com("dm.dmsoft")//创造大漠对象。

dm1 = com("dm.dmsoft")//创造大漠对象。

dm2 = com("dm.dmsoft")//创造大漠对象。

dm3 = com("dm.dmsoft")//创造大漠对象。



function 停止0_热键()
  线程关闭(线程ID0)
  dm0.UnBindWindow()
end
function 停止1_热键()
  线程关闭(线程ID1)
  dm1.UnBindWindow()
end

function 停止2_热键()
  线程关闭(线程ID2)
  dm2.UnBindWindow()
end
function 停止3_热键()
  线程关闭(线程ID3)
  dm3.UnBindWindow()
end
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-30 17:02 , Processed in 0.052353 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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