2.2 KiB
2.2 KiB
功能变更 ID: Feature-20260409-0001
适用场景:记录小到中等规模的功能、接口、行为、默认值或配置变化。 不适用场景:新增核心模块、重大模块重构、架构级设计,请使用“新增功能模块”模板。
基本信息
- ID: Feature-20260409-0001
- 标题: 基础资源所有权与生命周期收口
- 状态:已完成
- 类型:修改
- 级别:L2 中等
- 模块:Control / Window / Button / Table / Label
- 版本 / 分支:
master - 环境:Windows + EasyX + VS2022
- 负责人:Codex 协作修改
变更背景
- 背景:
- 初始版本中一部分资源持有关系不明确,析构顺序和边界输入处理存在隐患。
- 目标:
- 提高基础稳定性与维护性。
- 不做什么:[可选]
- 不处理字符集体系切换问题。
变更内容
- 变更摘要:
- 收紧资源所有权,调整析构顺序,补齐基础控件边界防御。
- 新增项:[可选]
Control提供更明确的快照有效性查询和宿主窗口回溯能力。
- 修改项:[可选]
Window析构顺序调整Table行数据规范化、空状态防御、页数保护Label动态文本变化处理
- 删除 / 废弃项:[可选]
MessageBox外层强制Dialog初始化的做法被移除
- 受影响的文件 / 类 / 函数:
Control.h / Control.cppWindow.h / Window.cppButton.h / Button.cppTable.h / Table.cppLabel.cppMessageBox.cpp
- 对外 API / 属性变化:[可选]
Button回调设置接口语义更正常
行为对照
- 变更前:
- 生命周期和边界输入更依赖使用者自觉,异常输入容易直接进入绘制或析构链。
- 变更后:
- 基础控件会主动规范化一部分输入,生命周期顺序更安全。
- 兼容性说明:兼容
- 迁移说明:[可选]
- 无强制迁移要求
验证与落地
- 验证方式:
- 静态审查 + 编译验证 + 现有测试用例回归
- 验证结果:
- 主要基础问题已收敛
- 关联 BUG / Fix:[可选]
BUG-20260409-0002Fix-BUG-20260409-0002
- Commit:
- 早期工作区修改 +
4a6e153+7f8431a
- 早期工作区修改 +
- PR:[可选]
- 发布版本:[可选]
- 备注:[可选]
- 其中一部分修改早于仓库基线