2010-10-20 2 views
1

J'ai une DLL d'un projet VB 6 qui a une classe et un formulaire. Le formulaire est appelé à partir de cette classe lorsque son constructeur est appelé. J'ai fait une DLL du projet, ajoute que DLL est dans mes références de projet .NET. Maintenant, quand j'appelle cette DLL de classe il donne l'erreur suivante:Utilisation de VB 6.0 Form dans .net qui est incorporé dans une DLL

Creating an instance of the COM component with CLSID {4E44E1A1-391D-4846-B733-2618249FE35A} from the IClassFactory failed due to the following error: 800a0196. 

Ce qui signifie que la forme ne s'ouvre pas.

+1

Je suppose que c'est une DLL COM VB6, pas un contrôle ActiveX avec une extension .DLL? Cela se produit-il dans votre environnement VisualNet dotNet ou uniquement lorsque vous déployez votre application? – Zippit

+0

Parfois, regsvr32 aide – Jet

Répondre

0

Les formulaires dans une DLL ActiveX VB6 doivent être ouverts de manière modale à partir de .NET. Est-ce que vous formez un modal?

+0

Ils ne doivent pas nécessairement être modaux. La DLL COM peut avoir des formulaires ouverts pendant toute leur durée de vie si nécessaire. – Deanna

+0

Affiné ma réponse pour adresser uniquement les interactions VX6 ActiveX. Je viens de le tester à nouveau et à partir de .NET, erreur "Les formulaires non modaux ne peuvent pas être affichés dans cette application hôte à partir d'une DLL ActiveX, ActiveX ou d'une page de propriétés." Est lancé. – UnhandledExcepSean

Questions connexes