Commit Graph
7 Commits
Author SHA1 Message Date
company-desktop-computer 41397130e2 refactor: 统一 XPrimData::m_pData 为字节数组,releaseData 只保留 delete[]
releaseData() 原来按 m_eType 分两路(8 种 delete[],其余 delete),但同一类型
在内存里可能是对象也可能是字节数组:开图、JSON 导入、深拷贝都分配 new byte[],
而对话框里 setData<T> 的 default 分支和几处直接 new 分配的是对象。按类型判断
必然有一半场景不匹配。

- 13 处对象形式分配统一改成 new unsigned char[sizeof(T)],后续 (T*)m_pData
  的用法不变
- releaseData() 去掉 switch,只保留 delete[];~XPrimData() 改为先调 releaseData(),
  顺带修掉 m_Combins 子单元的 m_pData 泄漏
- AecDbEwEquipment::FreeSubPrimData() 取代 FreeBuffer(CPtrArray&),改成成员函数,
  不再需要参数
- 另外三个文件作用域的 FreeBuffer/FreeBuffer2/FreeBuffer3 改名为 FreeEntityArray/
  FreeComplexCurveArray/FreeFaceplanArray,并加 static 收回内部链接
- 删除 ReleaseXPrimData,直接 releaseData() + DELETE_PTR
2026-10-23 10:29:31 +08:00
company-desktop-computer 0467086e65 重构: AecXData 类型标签改用枚举 AecXData::EType
- 在 AecXData 内新增 enum EType,取值直接采用 wtypes.h 的 VARENUM(VT_*),
  与原实现逐位一致(nVt 会序列化进 DWG/DXF/XData,数值必须保持不变)。
- 各模块共 303 处 nVt 判断由裸 VT_* 改为 AecXData::kTypeXxx,涉及 18 个文件;
  仅调试打印用的字符串字面量保持原样。
- AecDbObjXDataMap.h 增加 #include <wtypes.h>(EType 引用 VT_*)。
2026-10-13 09:55:42 +08:00
company-desktop-computer 9d9077a03e fix(FlangeDlg): 修正 GetEndF1/GetEndF2 端面取值下标
- CFlangeDlg::GetEndF1/GetEndF2 原先取 m_arFlangeVals 下标 0/1(公称直径/法兰外径),
  端面型式实际在下标 5/6,导致 PIPE_FLANGF 被写成 DN 字符串
- 改为下标 5/6,且为空时回退 "FF"
2026-10-09 14:09:23 +08:00
gjm d107cfd47f 法兰双击改用法兰对话框:AecDbEwFitting 法兰双击弹出 CFlangeDlg 并回写法兰/垫片数据
- DBL_AEC_DBEWFIT:GetFittingType()==eFlange 时改用 CFlangeDlg(其余管件仍用 CGJSXDlg)
- 对话框初值取自实体专业数据(DN/压力/等级/项目/外径系列)
- 确定后回写 PIPE_WD/PIPE_WTHICK/PIPE_THICK/PIPE_N/PIPE_FLANGF 及垫片数据并重绘
- 沿用接口位移后收缩相邻管段逻辑
2026-10-09 10:31:04 +08:00
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00
gjm 8ac3fe9197 移除旧的 Visual Studio 工程文件,统一使用 CMake 构建
删除 527 个 *.vcxproj、1 个 *.vcxproj.filters、2 个旧版 *.vcproj
以及 8 个 shs_image*.sln 解决方案文件(保留 StartApp C# 工程)。
2026-09-28 15:53:36 +08:00
gjm 345044cb46 初始化提交 2026-09-28 15:28:50 +08:00