|
发表于 2012-5-25 23:54:49
|
显示全部楼层
我只能帮你回答第一个问题!
线程传参和封装函数!
个人认为,线程传参和封装函数原理上差不多,但是在使用的时候才有区别,如果说是一个封装函数,我们想多线程调用,还得写成线程,但封装函数可以有多个参数,这方面,函数就比线程好用点
说个例子:
1、线程传参
***************************
功能 逻辑型 线程方法(字符型 传入参数)
辅助.消息框(传入参数)
返回 真
功能结束
********************
我们如果调用这个线程,
整型 线程=线程.开启("空间名.线程方法","学习")
这个执行结果是弹出消息框"学习"
如果我们传入的是其他字符,哪么消息框内容就是我们传入的东西!
在实际应用中,比如我们写多窗口操作,先写一个线程,
线程里的内容是对窗口的操作,我们传入线程句柄,就可以对这个窗口操作了!
例如:我们想对多窗口操作,对记事本中写入AAA三个字符
先写一个线程:
********************************
功能 逻辑型 线程方法(字符型 句柄)
窗口.提交字符串(转换.字符型转整型(句柄,0),"AAA")
返回 真
功能结束
**************************************
然后我们在调用的时候,首先要知道句柄是多少
整型 线程=线程.开启("空间名称.线程方法","窗口句柄")//注意这里我传入的都是字符型 ,所以线程里面有个转换,我试过传入整型或其他类型,没有成功,你自已可以试一下!传入整型可不可以
整型 线程2=线程.开启("空间名称.线程方法","第二个窗句柄")
这样,我们就对两个窗口操作了!
**************************************************************
就上面的例子如果写成封装函数
代码是一样的,但在调用过程的时候就不能用线程方法调用了!得用函数的方法
逻辑型 是否成功=空间名.线程方法("窗口句柄")//这里要注意,我还是用的字符型 ,这时用其他类型就是可以的,便我们在封装函数里面定义的是字符型,所以还是用的字符型
逻辑型 是否成功=空间名.线程方法("第二个窗口句柄")//我们在定义函数的时候是逻辑型,所以返回值也是逻辑型
****************************************************
上面就是封装函数的用法。
但是在我们执行的时候,用我们的写法,线程可以同时进行,但我们的封装函数就要执行完一句再执行一句了,也就是说如果我们的线程里面有死循环(比如一直向记事本里面写入A,就要写成死循环),用线程方法写,两个都可以执行,
但是用封装函数的写法,就只能一直执行第一句了,如是想两句都执行,哪么还要写到线程里面!
但是目前TC写线程传参的时候,好像只能支持一个参数,如果是多个参数,哪么就要用到封装函数了!
*****************************************************************************************************
至于第二个问题,我没有试过,其实你可以自已试试!写个代码用不了几分钟的!
以上是个人看法,如有错误,请批评指正!!!
|
|