Как использовать COM-объекты из dll в Qt без регистрации

У меня есть 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() всегда смотрит в реестр. Как знает, как с этим бороться?

Спасибо

0 ответов

Другие вопросы по тегам