我有一个带有控件的 COM 可见 dll,我需要在我的 Qt 应用程序 (4.8.4) 中使用它。c#中的控制代码
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyControl: UserControl
{
public MyControl()
{
//Some code
InitializeComponent();
}
}
我使用 QAxWidget 来这样称呼它
QAxWidget *myControl = new QAxWidget(centralWidget);
myControl ->setControl("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
但当然它不会起作用,因为在注册表中没有关于我的控制的信息
我读了这篇文章http://msdn.microsoft.com/en-us/library/ms973915.aspx,它说这可以通过清单来解决,我对我的 Qt 应用程序尝试了同样的方法,但它不起作用,它仍然说
CoCreateInstance failure (Class not registered)
要么我没有以正确的方式为 Qt 设置清单,要么 setControl() 方法总是查看注册表。怎么知道怎么处理?
谢谢