Bonjour,
J'ai un petit souci avec la création d'une dll en VB2005 (Ne criez pas, c'est la même chose qu'en C#).
Un soft développé en C++, peut faire appelle à des "outils de contrôle", qui ne sont autre que des dll. version non managée.
Je ne maitrise pas du tout le C++, aussi, j'ai tenté de les écrire en dotnet avec VB2005 standard, qui permet de rendre des dll COM visibles.
Pour commencer, j'ai fais une petite dll que j'ai essayé avec VBA.
J'arrive à référencer correctement le .tlb et ma dll fonctionne, mais avec un petit défaut, il y a une couche de trop.
En effet, ma petite dll est générée sous ClassLibrairy4.vb dans laquelle j'ai une Class TestClassCom qui possède 1 méthode, MaMethodeNet.
<Microsoft.VisualBasic.ComClass()> Public Class TestClassCom
<System.Runtime.InteropServices.DispId(1)> Sub MaMethodeNET()
MsgBox("Bonjour en VB 2005" )
End Sub
End Class
Ele est compilée et référencée
Dans VBA, j'ai du l'utiliser ainsi:
Private Sub CommandButton2_Click()
Dim A As New ClassLibrary4.TestClassCom
A.MaMethodeNET
End Sub
On peut voir que la méthode est ClassLibrary4.TestClassCom.MaMethodeNet,
J"aurais voulu que cette méthode soit TestClassCom.MaMethodeNet
Qu'est-ce que j'ai oublié dans ma classLibrairy pour y parvenir?
j'ai cherché un peu partout sur le web, mais c'est souvent confus
Merci pour votre aide