TC官方合作论坛

标题: 访问其它空间数组必须在将空间写在同一文件里???求高人解答!!! [打印本页]

作者: Sky_Pro    时间: 2012-11-21 12:34
标题: 访问其它空间数组必须在将空间写在同一文件里???求高人解答!!!
首先是这样的:
这是主文件:
[attach]6233[/attach]

这是子文件:
[attach]6234[/attach]


运行结果就是:
[attach]6235[/attach]

我把它改到一个文件里:
[attach]6236[/attach]

运行结果正常:
[attach]6237[/attach]

这是BUG还是什么呢???哪位高人来解答一下啊!!!





作者: 陌上青衣。    时间: 2012-11-21 12:56
不是什么BUG
是由于
测试字符=测试专用.全局数组[0]
全局数组[0]这个全局变量不存在
存在的只是 全局数组这个数组

正确的写法应是:
  1. #include"测试专用.t"
  2. 空间 子文件
  3. 功能 逻辑型 测试()
  4.    
  5.     字符型[] 测试字符=字符型[1]
  6. 测试字符=测试专用.全局数组
  7.     辅助.消息框(测试字符[0])
  8.     返回 真
  9. 功能结束
  10. 空间结束
复制代码

//========================
  1. #include"子文件.t"
  2. 空间 测试专用
  3. //定义默认空间
  4. 字符型[] 全局数组
  5. 功能 逻辑型 开始_点击()
  6. //这里添加你要执行的代码
  7. 全局数组=字符型[1]
  8. 全局数组[0]="测试一下"
  9. 子文件.测试()
  10. 返回 真
  11. //函数返回语句
  12. 功能结束
  13. 功能 逻辑型 退出_点击()
  14. //这里添加你要执行的代码
  15. 辅助.退出()
  16. 返回 真
  17. //函数返回语句
  18. 功能结束
  19. 空间结束
  20. //空间结束语句
复制代码

作者: 冷月无痕    时间: 2012-11-21 13:08
目前 TC暂时不支持跨文件调用全局数组
作者: pixiangyun    时间: 2012-11-21 14:15
TC暂时不支持跨文件调用全局数组 你可以使用调用函数(功能)使用返回值实现,使用地址引用
作者: 陌上青衣。    时间: 2012-11-21 14:49
TC暂时不支持跨文件调用全局数组 你可以使用调用函数(功能)使用返回值实现,使用地址引用
pixiangyun 发表于 2012-11-21 14:15:34
看来我的TC3.046是不太相同:
[attach]6239[/attach]     

[attach]6238[/attach]

作者: pixiangyun    时间: 2012-11-21 14:58
回复 5楼陌上青衣。的帖子

我试一下
作者: Sky_Pro    时间: 2012-11-21 15:34
回复 2楼陌上青衣。的帖子

我明白你的意思了,但为什么放到一个文件里的时候就可以呢,还望能够解答一下啊。。。
作者: pixiangyun    时间: 2012-11-21 15:44
回复 5楼陌上青衣。的帖子

真的能调用,学习了!不仅仅是数组,就连整型变量都可以调用,子程序与主程序之间还可以任意调用!
作者: pixiangyun    时间: 2012-11-21 15:46
  1. #include"子文件.t"
  2. 空间 测试专用
  3. //定义默认空间
  4. 字符型 全局数组
  5. 功能 逻辑型 开始_点击()
  6. //这里添加你要执行的代码
  7. 全局数组="测试一下"
  8. 子文件.测试()
  9. 返回 真
  10. //函数返回语句
  11. 功能结束
  12. 功能 逻辑型 测试2()
  13.     字符型 接收
  14.     接收=子文件.测试字
  15.     辅助.消息框(接收)
  16.     return 真
  17. 功能结束
  18.    

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

  22. 返回 真
  23. //函数返回语句
  24. 功能结束

  25. 空间结束
  26. //空间结束语句
复制代码

作者: pixiangyun    时间: 2012-11-21 15:48
  1. #include"测试专用.t"
  2. 空间 子文件
  3. 字符型 测试字
  4. 功能 逻辑型 测试()
  5.     字符型 测试字符
  6.     测试字符=测试专用.全局数组
  7.     辅助.消息框(测试字符)
  8.     测试字="你好"
  9.     测试专用.测试2()
  10.     返回 真
  11. 功能结束
  12. 空间结束
复制代码

作者: Sky_Pro    时间: 2012-11-21 20:41
回复 2楼陌上青衣。的帖子

采纳你了,但为什么放到一个文件里的时候就可以呢,还望能够解答一下啊。。。
作者: 陌上青衣。    时间: 2012-11-21 21:54
回复 2楼陌上青衣。的帖子

采纳你了,但为什么放到一个文件里的时候就可以呢,还望能够解答一下啊。。。
Sky_Pro 发表于 2012-11-21 20:41:01

按常规 同一个空间是不可以有两个空间.
所以这个问题我也解释不清楚

可能是全局变量作用域的问题

你可以试试把子文件空间放在上面  主空间放下面 如果不可行就是全局变量作用域的问题了





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