这可能是一个非常古老的问题,但由于一些 API 问题,我真的很沮丧。
我正在使用一些桌面应用程序 API,它的版本每个月都会随着新功能而变化。让我们考虑以下场景,A 公司 ABC LTD 现在介绍了一个窗口应用程序 ABCPRO,当他们介绍它时,他们没有 1.0.0.0 版的 com 支持,ABCPRO 没有 com API。现在公司进展并推出了新版本的 ABCPRO 1.0.0.1,即使是这个版本,他们也没有 com 支持。在 1.* ABCPRO 的一些 beta 版本之后,他们终于在 2.0.0.0 版本中引入了对 ABCPRO 的 com 支持。
现在我们很高兴获得 ABCPRO API 并执行一些功能。在 2.0.0.0 版本中工作得很好。
现在在 2.0.0.1 版本中,他们又引入了一项功能,比如 LMN,这对我们很有用。所以我们删除了 ABCPRO 2.0.0.0 并安装了 ABCPRO 2.0.0.1。这对我们所有的 2.0.0.1 客户都很有效,但是当我们的客户有ABCPRO 2.0.0.0 所以我的可执行文件在存在 ABCPRO 2.0.0.0 的机器上崩溃,因为我使用 2.0.0.1 开发可执行文件。
那么如何解决这个版本控制问题,因为我知道在功能上有很多版本的 ABCPRO 将被引入我们需要的功能但是所有旧版本呢??????
以下代码可能会清除您。
int main()
{
IABCPROAPI ABCPRO;
VARIANT var;
ABCPRO->GetNameOfServer(&Var);
VARIANT LMNVar;
ABCPRO->GetLMN(&LMNVar); //This introduce in version 2.0.0.1
}
编辑:-
如何知道 C++ 中可执行文件的版本?
或者try catch可能有用??