J'ai besoin de mettre un peu d'activeX dans mon .Net WinForm. Le fournisseur m'avait envoyé un .tlb et le com .dll.activex en winform
Est-ce suffisant? Comment puis-je le mettre en forme winform?
J'ai besoin de mettre un peu d'activeX dans mon .Net WinForm. Le fournisseur m'avait envoyé un .tlb et le com .dll.activex en winform
Est-ce suffisant? Comment puis-je le mettre en forme winform?
Cela devrait suffire. Vous devez enregistrer cette DLL sur votre machine, l'ajouter à la boîte à outils dev studio (clic droit sur la boîte à outils/Choisir les éléments) et aller à l'onglet COM, si vous ne pouvez pas le trouver, vous pouvez naviguer jusqu'à la emplacement spécifique et sélectionnez la bibliothèque de types à utiliser. Après cela, vous pouvez simplement faire glisser le nouveau contrôle à votre formulaire. Une référence à la bibliothèque sera automatiquement ajoutée à votre projet.
J'ai un problème similaire (similaire à celui décrit dans ce commentaire activex in winform) avec Visual Studio 2010 et une application MFC (au lieu d'un Winform).
J'ai le fichier my.ocx et je l'ai enregistré correctement avec regsvr32 mais j'ai le "Self-registration for my.ocx échoué". Ce lien http://www.codeproject.com/Questions/262206/ActiveX-Problem-Unspecified-Error me donne quelques informations pertinentes. Je le cite:
Hi I have done some research regarding registering ActiveX control library in this area and I found that If am developing ActiveX control for 64 bit Operating Syatem and 64bit Aplication Then in this case we have to register this activeX control for both 64bit and 32bit operating system 64bit ActiveX control in System32 folder for 64bit operating system 32bit ActiveX control in SysWOW64 folder for 64bit operating system, For this we have to generate both version of ActiveX control in MFC x64 and Win32 both version Thankx
Je regardais dans le registre à la clé HKEY_CLASSES_ROOT\TypeLib\{myocx_typelib_id}\1.0\0\
et j'ai trouvé les deux clés win64
et win32
. Le win64
pointait vers le fichier ocx droit alors que le win32
pointait vers le mauvais fichier ocx (dans mon cas le typelib est incorporé dans le fichier ocx). Je corrige le registre et a résolu le problème de "auto-enregistrement pour my.ocx échoué". Dans mon cas, j'ai deux fichiers my.ocx différents, le premier est pour win32 et le second est pour win64.
Lorsque je choisis le fichier, j'obtiens une erreur: "L'auto-enregistrement pour x.tlb a échoué." BTW J'ai ocx et pas un .dll –
Essayez de choisir l'OCX au lieu du TLB. Je pensais que vous aviez un OCX comme c'est l'extension de fichier ActiveX normale. – Ruddy
la même erreur ici –