全局快捷整数变量
说明:本功能需要在上位机版本0.1.1.45以上才支持;
- 在实际工程中,用户反映appbase控件中的属性和方法经常超过64个
- 对于一些常用变量,尤其是数值类变量,使用bind_get等语句操作显得有些繁琐
因此我们引入了全局快捷整数变量,也就是说无论是在页面代码中,还是控件代码中,都可以使用 $变量名 来标识全局快捷整数变量
$a=0; //全局快捷整数变量
该变量具有以下特点:
- 方便,只需要在变量前加 $ 即可使用
- 变量无需声明,直接是整数型变量
- 变量无需初始化,默认值为0
- 无论在页面代码和控件代码中均可使用
appbase中使用
//appbase.c 中代码
$a=0; //!!!此为错误
//在控件中只能声明属性变量,而$a=0实际是一个赋值执行代码,在控件中放在方法和事件函数外不执行;
void create(){
//在此书写当前页的初始化
$a=0;
$c=0;
$vol=5; //如有需要,可在create事件中对全局快捷变量赋值
}
//页面或者其他控件
int b;
b=$a+100; //可以在任意使用变量的地方使用$a;
注意事项
- 1、不允许作为函数声明的变量,因为全局变量已经声明了
void func(int $a){ //!!!此为错误
}
- 2、在页面中不要使用app.$a这种描述,因为$a已经是全局变量了,可以直接使用,而不是作为控件属性使用。
- 3、在控件中方法和事件函数外,不能书写类似$a=0;这样的生命代码,实际上$a=0是一个赋值执行代码,在控件中放在方法和事件函数外不执行;如果再控件中需要给$a这样的快捷变量赋值,请写在create事件中;
- 4、因快捷变量在编译时做的地址对应,因此在cmd(串口传入命令执行、wifi传入命令执行)以及eval语句等在程序运行中的代码运行中,不支持$a这种快捷变量;同时$字符也作为数据绑定代码使用;如果功能需要必须要对快捷变量赋值,请通过app.func()函数转接,即在参数通过函数行参传入,在函数内对快捷变量赋值