company-desktop-computer
|
4e658a8ae9
|
refactor: 水池截面中转文件改用 CoreTools::getTempFilePath
删除 Pool3dCmd/PoolSectionTemp.h,JMDBDlg、JMSJDlg、HZQTDlg 共 7 处
改为 CoreTools::getTempFilePath(_T("JMSJ_"), _T(".sat"), 目录)。
同时修 getTempFilePath 自身的问题:
- 传了有效父目录时 sParentPath 没有赋值,会拼出 "\JMSJ_xxx.sat"
- 父目录为空时仍对 pszParentPath 调 _taccess,参数可能是 NULL
- return sPath(); 语法错误
- objId 用 %lu 格式化 Adesk::ULongPtr,64 位下会截断,改 %I64u
temp-file-naming.md 同步改为介绍这个通用函数。
|
2026-10-22 10:06:51 +08:00 |
|
company-desktop-computer
|
8caea9e6bd
|
fix: 水池截面中转文件 JMSJ.sat 按进程隔离,补临时文件命名文档
JMDBDlg、JMSJDlg、HZQTDlg 共 7 处共用固定的 JMSJ.sat,两个 CAD 实例
同时运行时会互相覆盖,acisIn 可能读到另一个实例写的截面。
新增 Pool3dCmd/PoolSectionTemp.h 的 GetPoolSectionSatPath(),文件名改为
JMSJ_<pid>.sat。同一进程内所有调用点路径一致,acisOut 写、ShowLastSection
读的隐式链路不受影响;进程之间用 PID 隔离。顺带去掉无意义的 MakeLower。
同时新增 temp-file-naming.md,记录临时文件命名规则、全库现状,以及
DGJM.sat 已废弃、不再改造的结论。
|
2026-10-22 09:03:11 +08:00 |
|
company-desktop-computer
|
e3fff2ad66
|
fix: SAT 临时文件唯一化,修 DGJM.sat 读取越界
1. AcDbX3dSolid::CreateFromSat 的 temp\temp.sat 改为
temp_<pid>_<原子序号>.sat,用完 DeleteFile。原来固定名且从不删除,
两个 CAD 实例同时从 SAT 重建时会互相覆盖。
2. DGJM.sat 的读取统一改成「分配时补终止符 + 按实际读到的长度赋值」:
new char[n] 之后直接赋给 CString 会把未初始化内存当字符串读到终止符,
现在 new char[n+1] + memset,再用 CString(pszTxt, nRead) 明确长度。
涉及 AcDbX3dSolid、AecDbEarthWormFitting、DGJMDlg、GJYXJMDlg、
JMDBDlg、JMSJDlg 共 6 处。
DGJM.sat 本身仍是固定文件名,写读双方靠它隐式传递,本次不改名。
|
2026-10-21 23:39:47 +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
|
345044cb46
|
初始化提交
|
2026-09-28 15:28:50 +08:00 |
|