菜单

程序下载到屏幕上只运行某个函数一次的办法,重新上电也不会再次运行该函数

下载

目前,下载会保留之前保存的变量值,没有清除选项。可如下解决:

1. 利用默认数据库做一个标记

下载前,手动配置默认数据库default.db,如在S_CFG中增加一个标记

2.在程序的首页的头文件中添加一个成员函数,如RunOnce,注意放在/*CUSTOM_CODE_BEGIN*/与/*CUSTOM_CODE_END*/之间

3.在cpp文件中实现这个成员函数,如

void Frm01::runOnce() {

#if __arm__ //限定屏幕上才执行
    int val= 1;
    vm->setInt("初始化变量",1);

    //只在下载后运行一次的代码

#endif
}

4.在这个首页的cpp的onLoad方法里,如下

void Frm01::onLoad(){
  //1.读取标记
  String flag = KVUtil::getVal("RunOnceFlag", "0");//这是读取S_CFG数据的方法
  //2.如果标记未运行过,则运行,
  if(flag == "1") {//假设1表示未曾运行过
    runOnce();
    //然后修改标记为0,表示已运行
    KVUtil::setVal("RunOnceFlag", "0");//这是写S_CFG数据的方法
  }
}

 

 

上一个
数据维护及两个下拉框联动
下一个
第十二章 系统内置功能
最近修改: 2026-02-24Powered by