如何确定 ActiveX 控件接口在客户端应用程序中是否具有功能



我们正在应用程序中使用第三方ActiveX控件,最近根据我们的要求,他们在ActiveX控件界面中添加了新功能,我们正在尝试在我们的应用程序中访问这些功能。由于某种原因,我们可能无法部署第三方 ActiveX 控件,但我们正在部署我们的应用程序。所以旧的第三方ActiveX没有新功能,但我们使用这些功能的应用程序正在尝试访问新功能。因此,我们得到了一些不一致的行为 lIke 崩溃或消息错误框。所以我们想了解有没有办法确定第三方 ActiveX 控件的功能是否存在于我们的应用程序中?因此,基于此,我们希望避免调用这些函数。谢谢。

好吧,您可以获取类型库信息并尝试阅读和遍历它以确定该函数是否存在。

或者,您可以通过 IDispatch::Invoke 调用该函数,看看它是否失败。 如果失败,请不要再次调用它并调用回退函数。

那么,它没有针对两个不同接口的单独 Guid? 从技术上讲,它应该...但有时供应商不会为更新的接口提供新的 Guid。我恳求第五。

它应该工作的方式是你想要的接口的查询接口并使用它。

最新更新