1

我有一个带有控件的 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() 方法总是查看注册表。怎么知道怎么处理?

谢谢

4

0 回答 0