J'ai créé une bibliothèque de classes VS 2010. Marqué l'assemblage pour Com Visibility. Signé l'assemblée avec une clé forte. Créer ma classe, avoir ma méthode de point d'entrée disponible.La classe COMVisible dans l'assembly VS 2010 n'est toujours pas visible via com
La bibliothèque fonctionne correctement à partir d'un projet de test en C#.
Je regasm la bibliothèque de classes à gac, via: c: \ windows \ microsoft.net \ Framework \ v4.0.30319 \ regasm Testdll.dll/TLB: testdll.tlb/codebase
Inclure le fichier TLB comme référence dans mon projet VB6. Je le trouve à travers les ressources 'parcourir' donc c'est là.
Lorsque j'essaie d'instancier la classe ... c'est vide. la méthode publique qui devrait être disponible via la classe publique ne s'affiche pas.
Dim objTest as testdll.testclass
set objTest = new testdll.testclass
objTest.testmethod <--- this 'testmethod' doesn't display in intellisense... nothing does.
En plus j'ai essayé d'appeler le « testdll.testclass » via CreateObject, je reçois l'erreur « Le composant ActiveX ne peut pas créer un objet »
Maintenant, j'ai d'autres projets que j'ai fait pour la visibilité COM et j'ai essayé de comparer la différence, mais je n'en vois pas. Je ne peux pas comprendre pourquoi ça ne marche pas.
Des indices? tx beaucoup.
Avez-vous REGSVR32 le .tlb? Je ne comprends pas non plus intellisense, mais je peux toujours utiliser le type. – ken
hmmm ... dois-je ajouter une interface? Je n'ai pas fait ça dans mes autres projets, et ça marche ... Je lis un autre article qui en dit quelque chose. – user1161137
vous ne pouvez pas regsvr32 une tlb ... n'est pas ce que regasm fait? – user1161137