如何从自定义DLL向Qt窗体添加ActiveX控件

如何从自定义DLL向Qt窗体添加ActiveX控件,qt,dll,activex,Qt,Dll,Activex,我正在尝试实现以下功能:将ActiveX控件(来自AutoDesk的AXExpressViewerDell::AxCExpressViewerControl)添加到Qt表单中。但是,无法从DLL获取要加载的对象,例如(长数字是从Visual Studio获取的UUID): VS很好地拾取COM对象,使用regsvr32注册了.dll(AdView.dll),我甚至用LIBS指令将dll直接链接到项目。我甚至试过: 我总是得到: CoCreateInstance失败(类不可用) (注册) QAxB

我正在尝试实现以下功能:将ActiveX控件(来自AutoDesk的AXExpressViewerDell::AxCExpressViewerControl)添加到Qt表单中。但是,无法从DLL获取要加载的对象,例如(长数字是从Visual Studio获取的UUID):

VS很好地拾取COM对象,使用regsvr32注册了.dll(AdView.dll),我甚至用LIBS指令将dll直接链接到项目。我甚至试过:

我总是得到:

CoCreateInstance失败(类不可用) (注册)

QAxBase::setControl: 请求控制 {55523A67-A054-4064-B88D-0070305C9F95} 无法实例化


如果您能在几个月后回复任何帮助,我们将不胜感激,但仍然可能会有所帮助:

也许你应该看看qtbrowser插件:


直接使用qt,而不是开发ActiveX并将其嵌入qt。除非您希望activeX在qt之外可用…

否则您可以尝试按控件名称实例化该控件。另外,检查是否不需要在构造函数中传递控件的许可证文件。好的,那么如何获取控件的名称?我没有任何可用的文档。我所拥有的只是一小部分示例代码,其中组件用于C#in VS。。。
QAxWidget* wmp = new QAxWidget();
wmp->setControl("{55523A67-A054-4064-B88D-0070305C9F95}");