第一章 代码兼容处理
当遇到不同版本的接口函数不同(更改或废弃)时,须提供相应的兼容代码。比如:SolidWorks提供的接口的稳定性相对于老牌的CAD公司来说,还是有一定的差距。
接口代码兼容问题的处理:
1)根据变更的接口函数划分映射区间,一般用enum类型即可完整地描述此变更信息,如下所示:
typedef enum CAD_SupportedVersion
{
CAD _VERSIONNOTSUPPORTED= 0,
CAD _VERSIONLOWER144 = 1, // CAD version < 14.4
CAD _VERSIONUPPER144 = 2 // CAD version >= 14.4
}cadSupportedVersion;
PS: 一般在头文件中定义
2)读取CAD版本号,实现映射过程。
cadSupportedVersion CCadSystem::CADSupportedVersion ()
{
// check if the CAD version is 14.4 or greater.
// there is error for float calculation
// m_fRevNum presents CAD version
if (m_fRevNum > 14.39)
{
m_cadSupportedVersion = CAD_VERSIONUPPER144;
}
else
{
m_cadSupportedVersion = CAD_VERSIONLOWER144;
}
return m_cadSupportedVersion;
}
3)根据映射后的版本号,调用相应的接口函数(不同) |