diff --git a/SourceCode/Code2026/CoreLibrary/Implement/XEquipmentImpl.h b/SourceCode/Code2026/CoreLibrary/Implement/XEquipmentImpl.h index 2284973..1f9dfc2 100644 --- a/SourceCode/Code2026/CoreLibrary/Implement/XEquipmentImpl.h +++ b/SourceCode/Code2026/CoreLibrary/Implement/XEquipmentImpl.h @@ -54,8 +54,9 @@ public:\ static const CString key;\ ##type Get##key() const\ {\ - type v;\ - m_pXDataMap->GetAt(key, v);\ + type v = type();\ + if (m_pXDataMap)\ + m_pXDataMap->GetAt(key, v);\ return v;\ } diff --git a/SourceCode/Code2026/CoreLibrary/Implement/i_AecDbXEquipment.cpp b/SourceCode/Code2026/CoreLibrary/Implement/i_AecDbXEquipment.cpp index 66dea0a..3ae34e8 100644 --- a/SourceCode/Code2026/CoreLibrary/Implement/i_AecDbXEquipment.cpp +++ b/SourceCode/Code2026/CoreLibrary/Implement/i_AecDbXEquipment.cpp @@ -132,7 +132,8 @@ int AecDbXEquipment::GetType() const { assertReadEnabled(); int nType = 0; - m_mapSpecXData.GetAt(KEY_TYPE, nType); + if (!m_mapSpecXData.GetAt(KEY_TYPE, nType)) + acutPrintf(_T("\nAecDbXEquipment 缺少设备类型数据(KEY_TYPE),按 0 处理。")); return nType; } diff --git a/SourceCode/Code2026/CoreLibrary/ParamEquImpl.h b/SourceCode/Code2026/CoreLibrary/ParamEquImpl.h index 20899a1..02a377b 100644 --- a/SourceCode/Code2026/CoreLibrary/ParamEquImpl.h +++ b/SourceCode/Code2026/CoreLibrary/ParamEquImpl.h @@ -43,8 +43,9 @@ public:\ static const CString key;\ ##type Get##key() const\ {\ - type v;\ - m_pXDataMap->GetAt(key, v);\ + type v = type();\ + if (m_pXDataMap)\ + m_pXDataMap->GetAt(key, v);\ return v;\ }