2010-11-09 4 views
0

Eh bien, j'essaie de réaliser ce qui suit: ajouter et contrôle ActiveX (AxExpressViewerDll :: AxCExpressViewerControl d'AutoDesk) à un formulaire Qt. Mais, il n'y a pas moyen d'obtenir l'objet à charger à partir de DLL, par exemple (long numéro est le UUID pris à partir de Visual Studio):Comment ajouter un contrôle ActiveX au formulaire Qt à partir de la DLL personnalisée

QAxWidget* wmp = new QAxWidget(); 
wmp->setControl("{55523A67-A054-4064-B88D-0070305C9F95}"); 

VS récupère l'objet COM fine, le .dll (AdView .dll) a été enregistré avec regsvr32, j'ai même lié la DLL directement au projet avec la directive LIBS. J'ai même essayé ceci: link

Je reçois toujours:

échec CoCreateInstance (Classe non enregistré)

QAxBase :: setControl: a demandé le contrôle {55523A67-A054-4064-B88D- 0070305C9F95} ne pouvait pas être instanciée

Toute aide serait appréciée

+0

Vous pouvez essayer d'instancier le contrôle par son nom. Vérifiez également si vous n'avez pas besoin de transmettre un fichier de licence pour le contrôle dans le constructeur. –

+0

Ok, et comment obtenez-vous le nom du contrôle? Je n'ai aucun document disponible. Tout ce que j'ai est une petite quantité de code exemple où le composant est utilisé en C# dans VS ... –

Répondre

0

answsered après mois, mais pourrait encore être utile:

Peut-être que vous devriez prendre regarder le plugin qtbrowser: http://doc.qt.nokia.com/solutions/4/qtbrowserplugin/

Au lieu de développer et ActiveX, puis l'intégrer dans qt, utilisez directement qt. Sauf si vous voulez que votre ActiveX soit disponible en dehors de qt ...

Questions connexes