从保存到运行
保存更新本机工程,Build 检查已保存文件并交付版本,Start / Debug 才开始执行。
| 操作 | 行为 |
|---|---|
| Design | 查看页面、编辑布局和验证本地交互;不调用 Object 或 Query |
| 保存 | 更新本机项目文件,不改变已部署版本 |
| Build | 构建已保存工程并 Deploy 到选定目标,不开始执行 |
| Start / Debug | 从已部署版本创建全新运行实例,完成 Init 后才接受 Object 方法调用 |
| Stop | 取消在途调用、执行 Dispose、关闭 Provider 并释放资源;保留部署和持久化数据 |
修改并保存 → Build → Stopped → Start / Debug → Running / Debugging → Stop → Stopped
Design 不参与 Runtime 生命周期,不需要目标已部署或在线。编辑器内按住 Alt 可操作页面控件;Object 方法返回明确的设计值,Query 返回未执行结果。这些结果只供设计展示,不代表业务执行成功,Design 也不输出跳过调用日志。预览保留页面交互,Stopped 时真实调用失败并写入 Console;Run / Debug 初始化完成后允许调用。
运行状态
| 状态 | 含义 |
|---|---|
| Stopped | 没有运行实例;保留部署与持久化数据,拒绝 Object 方法调用 |
| Starting | 正在创建实例并执行 Init |
| Running / Debugging | Init 已完成,可执行 Object 方法和扫描循环 |
| Stopping | 正在取消、排空和释放本次运行资源 |
| Faulted | 清理失败或超时;显示明确故障,需重启 Runtime target 后再运行 |
未被 QG try/catch 处理的 Object、QG 或生命周期执行异常,以及不可恢复的底层故障,会终止本次运行并取消同次并发调用。原始故障保留在日志中,只通过实时事件提示一次;清理成功回到 Stopped,清理失败或达到 10 秒清理期限进入 Faulted,不无限转圈,也不自动重试。Faulted 期间不允许 Start、Debug 或 Deploy。
每次 Start / Debug 都重新创建 Object 实例并执行 Init。QG 顶层 let 等实例内存状态在 Stop 后销毁,需要跨运行保留的数据必须显式持久化。Stop 不删除 saved 数据或项目 StateRoot。
Deploy 在 Stopped 替换版本;运行中交付需先确认 Stop,完整清理成功后再替换。不存在独立 Load / Unload 操作。
什么时候重新 Build
修改 Page、Component、QG、Object、数据或配置后,保存并重新 Build,再 Start / Debug 验收。Design 使用当前作者源码;运行页只使用已交付版本。Run / Debug 不会隐式 Build 或 Deploy。