重构: AecDbObjXDataMap 解耦 UI,并统一 SetAt/数组实现 #7

Merged
gjm merged 1 commits from company-desktop-computer/company-ai-dev AGit into main 2026-10-13 15:29:27 +08:00
Collaborator
  • AecXData 的 ctor/Free/CopyFrom 由头部 inline 移入 .cpp,结构体加
    AECDLLIMPEXP 导出,修复其它模块构造 AecXData 时的 LNK2019。
  • 抽出私有 SetXData(pszKey, xdata) 助手,替换各 SetAt 中重复的
    find/Free+覆盖/insert 逻辑,并接管 xdata 所有权。
  • 数组二进制块统一为 [kArrayMagic][元素类型][元素个数][数据...],元素类型
    复用 AecXData::EType;新增元素类型无需再加魔数或类型标签。
  • 矩阵/数组魔数集中到 .cpp 顶部常量,便于维护。
  • List(CListCtrl*, int) 改为 List(std::vector&):去掉 MFC 控件与
    nImage 依赖,每个元素输出 key/value 两项;CCKSXDlg::ListXDataMap 相应改为
    构造 vector 后填充两列列表。
- AecXData 的 ctor/Free/CopyFrom 由头部 inline 移入 .cpp,结构体加 AECDLLIMPEXP 导出,修复其它模块构造 AecXData 时的 LNK2019。 - 抽出私有 SetXData(pszKey, xdata) 助手,替换各 SetAt 中重复的 find/Free+覆盖/insert 逻辑,并接管 xdata 所有权。 - 数组二进制块统一为 [kArrayMagic][元素类型][元素个数][数据...],元素类型 复用 AecXData::EType;新增元素类型无需再加魔数或类型标签。 - 矩阵/数组魔数集中到 .cpp 顶部常量,便于维护。 - List(CListCtrl*, int) 改为 List(std::vector<CString>&):去掉 MFC 控件与 nImage 依赖,每个元素输出 key/value 两项;CCKSXDlg::ListXDataMap 相应改为 构造 vector 后填充两列列表。
company-desktop-computer added 1 commit 2026-10-13 15:28:37 +08:00
- AecXData 的 ctor/Free/CopyFrom 由头部 inline 移入 .cpp,结构体加
  AECDLLIMPEXP 导出,修复其它模块构造 AecXData 时的 LNK2019。
- 抽出私有 SetXData(pszKey, xdata) 助手,替换各 SetAt 中重复的
  find/Free+覆盖/insert 逻辑,并接管 xdata 所有权。
- 数组二进制块统一为 [kArrayMagic][元素类型][元素个数][数据...],元素类型
  复用 AecXData::EType;新增元素类型无需再加魔数或类型标签。
- 矩阵/数组魔数集中到 .cpp 顶部常量,便于维护。
- List(CListCtrl*, int) 改为 List(std::vector<CString>&):去掉 MFC 控件与
  nImage 依赖,每个元素输出 key/value 两项;CCKSXDlg::ListXDataMap 相应改为
  构造 vector 后填充两列列表。
gjm merged commit 4961b696ff into main 2026-10-13 15:29:27 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gjm/envi-code#7