Je veux utiliser un VB.NET dll dans un programme VB6. Est-il possible?
Je vais avoir des problèmes lors de l'utilisation d'un VB.NET dll dans un programme VB6. J'ai déjà créé ma dll avec la GuidAttribute, utilisé le RegAsm pour créer un tlb et de l'ajouter aux références de mon programme VB6. Le problème est que lorsque j'essaie de créer l'objet en utilisant la fonction CreateObject, cependant l'erreur suivante s'affiche "composant ActiveX ne peut pas créer un objet."
Je ne sais pas si je suis absent de toute déclaration sur VB.NET pour l'utiliser comme une dll, ou si je ne suis pas à l'aide de la fonction CreateObject correctement.
Mon ajout: Si j'ai mis "Faire COM visibles" et ensuite utiliser la dll en VB6, est-ce possible?
OriginalL'auteur jpnavarini | 2010-02-12
Vous devez vous connecter pour publier un commentaire.
Un article complet sur l'Appel .Net les Classes à partir de Visual Basic 6:
http://www.devsource.com/c/a/Using-VS/Calling-Net-Classes-from-Visual-Basic-6/
La création d'une DLL COM avec VS 2005: UNE promenade à travers:
http://www.codeproject.com/KB/COM/VS2005ComDllWalkThru.aspx
OriginalL'auteur mangokun
Difficile à dire avec les informations que vous avez fournies, mais il semble que vous n'avez pas de faire de l'assemblage trouvables. De MSDN:
OriginalL'auteur David Gladfelter
vous devez vous assurer que votre composant est correctement enregistré pour com interop.. dans les propriétés de projets onglet il y a une case à cocher pour activer ceci, vous êtes acutally sur la bonne voie avec la création d'un type de lib que vous pouvez référencer dans vb6, vous pouvez simplement ajouter une référence à elle comme n'importe quel autre com partie. cependant inscrivent plutôt que de créer un fichier tlb.
Lorsque vous vous inscrivez à une assemblée pour une utilisation par COM, Regasm.exe ajoute des entrées dans le registre sur l'ordinateur local. Plus précisément, il crée dépendant de la version de clés de registre qui permettent à plusieurs versions de la même assemblée pour exécuter côte à côte sur un ordinateur. La première fois qu'une assemblée est enregistrée, une clé de niveau supérieur est créé pour l'assemblée et la sous-clé unique est créé pour la version spécifique. Chaque fois que vous enregistrez une nouvelle version de l'assemblée, Regasm.exe crée un sous-clé pour la nouvelle version.
Après l'inscription d'un montage à l'aide de Regasm.exe vous pouvez l'installer dans le global assembly cache, de sorte qu'il peut être activé à partir d'un client COM. Si l'assemblée ne doit être activé que par une seule application, vous pouvez le placer dans le répertoire de cette application.
si vous êtes intéressé à ce que l'outil génère pour le registre d'utilisation
regasm {Chemin d'accès à votre Assemblée}.dll /regfile:myTest.reg
OriginalL'auteur almog.ori