TC官方合作论坛

标题: 主项目和子项目之间传参只能通过读写配置吗? [打印本页]

作者: 最爱念    时间: 2012-8-11 14:25
标题: 主项目和子项目之间传参只能通过读写配置吗?
貌似论坛里基本上看不到建立多个项目的教程,最近自己摸索了半天,很是纠结一番总算是写出了达到心理预期的脚本,不过总觉得绕了好多道弯子一样。。
一个是主程序里调用子项目的时候,貌似不能直接开启线程,需要运行子项目内的某个事件,然后通过这个事件来开启线程?
再一个是传参部分,我都是通过主项目把从下拉框获取到的参数写入到ini文件里,然后调用子项目的时候又去读配置,有时候几个参数需要做比较的时候要多次写入和读取,参数名也取的稀奇古怪(太多了没办法),我都怀疑过段时间再看我的代码会不会看不懂了。。。。不知道有更好的传参方法呢?

作者: Abin    时间: 2012-8-11 14:58
你说的是多界面的问题吧。!
其实你还可以使用功能的返回值进行跨文件传参的!
作者: 最爱念    时间: 2012-8-11 15:27
你说的是多界面的问题吧。!
其实你还可以使用功能的返回值进行跨文件传参的!
Abin 发表于 2012-8-11 14:58:05

可以这样吗?我试验过,主项目里定义过的变量,在子项目里是未定义的,需要再次定义,两个不能通用啊,怎么跨文件传参呢?

现在我的感觉就是,不同项目只能通过主项目调用子项目里的事件,不能直接调用线程;不同项目里的变量全部不通用,需要各自定义,传参靠读写ini、txt等外部文件

我知道肯定是我自己没摸到门路,还请abin老湿和各位高人指点一下迷津吧

作者: cylhb    时间: 2012-8-11 15:32
通过函数的返回值-.-
作者: 最爱念    时间: 2012-8-11 15:35
通过函数的返回值-.-
cylhb 发表于 2012-8-11 15:32:07

那这个返回值总要赋值到一个变量上去呀?现在的问题是变量好像不通用。。比如主项目里面返回值是 A=5,到子项目里面调用这个“A”的时候就成了未定义的变量了

作者: cylhb    时间: 2012-8-11 16:31
你可以在子项目里面定义一个B
B=A
一样=5 ,值是一样的,只不过变量不同
作者: 最爱念    时间: 2012-8-11 17:01
你可以在子项目里面定义一个B
B=A
一样=5 ,值是一样的,只不过变量不同
cylhb 发表于 2012-8-11 16:31:25

额,恕我愚钝。。。在子项目中定义B=A的话,那子项目中A的值又从哪来啊,貌似回到原点了又。。。

举个例子吧,主项目代码
#include"子项目.t"
空间 测试多项目
整型 A

功能 逻辑型 开始_点击()
子项目.测试()
返回 真
功能结束

功能 逻辑型 退出_点击()
辅助.退出()
返回 真
功能结束

功能 逻辑型 初始化()
A=1+2
辅助.消息框(转换.整型转字符型(A))   
返回 真
功能结束

空间结束


子项目代码:
空间 子项目
功能 逻辑型 测试()
整型 A,B
B=A
辅助.消息框(转换.整型转字符型(B))
返回 真
功能结束

功能 逻辑型 退出_点击()
辅助.退出()
返回 真
功能结束

空间结束

上面点击“开始”后得到的B的值=0,也就是说没获取到主项目里的A=3这个参数呀,到底应该怎么弄呢?

作者: cylhb    时间: 2012-8-11 17:11
利用的是函数的返回值 ,明白这几个字的意思么..

主项目 写一个函数  
功能 整型 获得A()
返回 A
功能结束

子项目里
B=空间A.获得A()
作者: 最爱念    时间: 2012-8-12 09:09
利用的是函数的返回值 ,明白这几个字的意思么..

主项目 写一个函数  
功能 整型 获得A()
返回 A
功能结束

子项目里
B=空间A.获得A()
cylhb 发表于 2012-8-11 17:11:11
额,原来如此,还真不知道这个用法啊,感谢感谢。。。没见到过多项目的相关教程,那些都是我自己瞎摸索的

作者: z0230226    时间: 2012-8-12 13:41
函数返回值就是联系多个空间的丝带
作者: 最爱念    时间: 2012-8-12 16:20
函数返回值就是联系多个空间的丝带
z0230226 发表于 2012-8-12 13:41:47

不过缺点就是只能返回一个值哦,如果有很多参数就麻烦了




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