Citect传递变量问题 点击:1327 | 回复:3



笨猪

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 106回
  • 年度积分:0
  • 历史总积分:181
  • 注册:2002年8月12日
发表于:2004-02-05 09:40:00
楼主
当把某时间变量声明为全局时(作用域为整个文件),再通过控件方法调用传递该变量,则控件接收到的值始终为0。如果声明为局部变量则一切正常。是否CITECT对全局变量进行了保护?请高手指点。



lsm

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:63
  • 注册:2003年10月27日
发表于:2004-01-12 22:12:00
1楼
至西居东客: 是否检查变量标签表中的地址

笨猪

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 106回
  • 年度积分:0
  • 历史总积分:181
  • 注册:2002年8月12日
发表于:2004-01-13 17:21:00
2楼
to lsm: 和标签无关。我是在CICODE中声明的变量。代码示意如下: int iTime; FUNCTION 控件事件() iTime=TimeCurrent(); 调用方法(iTime); end iTime可能会由其他事件改变它的值。通过监视发现,控件接收到的iTime永远为0;如果把它移到函数体内则正常。

HNYB

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2002年8月15日
发表于:2004-02-05 09:40:00
3楼
至西居东客: 你定义全局变量的函数有误: GLOBAL INT iTime;    FUNCTION 控件事件()    iTime=TimeCurrent();    调用方法(iTime);    end 你再试试!我用过没问题!

热门招聘
相关主题

官方公众号

智造工程师