dll VB net appellable comme en C++ - VB/VBA/VBS - Programmation
MarshPosté le 01-12-2005 à 07:25:57
Bonjour,
Je dois réaliser une dll appellée par un programme tiers écrit en C++
J'ai donc écrit une dll en VB net 2005 a l'aide d'une classlibrary.
Elle fonctionne tres bien avec un autre programme en VB qui la référencie et l'appelle.
Quand je veux la faire appeller par le programme en C++ (dont je n'ai pas le sources), elle ne reconnait pas les fonctions appelées.
J'ai utilisé un petit utilitaire, dumpbin pour voir les fonctions appellables de ma dll, aucun nom de fonction n'apparait.
Le fait est que, lorsque j'appelle ma dll avec mon exécutable dévelloppé en VB, mon appel doit se faire ainsi
Dim monobjet as new NomDll.NomClass A = monobjet.NOMFONCTION()
Ecriture de ma dll dans le projet de type ClassLibrary nommé <NomDll>
Public Class NomClass Public Function NOMFONCTION(ByRef Paramètre1 as object, ByRef Paramètre2 as object) As Integer Code de ma fonction end Function End Class
Quand je compile ça, j'obtiens un fichier <NomDll.dll>
Avec le programme en C++, je dois écrire une ligne de commande dans un textbox.
"EXEC <CheminEtNomDeLaDll> <NOMFONCTION> <String correspondant à une liste de paramètres a passer à la dll>
Je ne suis absolument pas maître de cette façon de saisir l'appel a la dll.
J'ai compris que ma dll conçue en .net avait un nom intermédiare qui était celui de la classe, et que le nom de la fonction était derriere ce nom de classe.
Est ce qu'il y aurait un moyen de concevoir une dll en VB.net qui se comporte comme une dll en C++ , dont les fonctions appellables, le seraient directement ?
Marsh Posté le 01-12-2005 à 07:25:57
Bonjour,
Je dois réaliser une dll appellée par un programme tiers écrit en C++
J'ai donc écrit une dll en VB net 2005 a l'aide d'une classlibrary.
Elle fonctionne tres bien avec un autre programme en VB qui la référencie et l'appelle.
Quand je veux la faire appeller par le programme en C++ (dont je n'ai pas le sources), elle ne reconnait pas les fonctions appelées.
J'ai utilisé un petit utilitaire, dumpbin pour voir les fonctions appellables de ma dll, aucun nom de fonction n'apparait.
Le fait est que, lorsque j'appelle ma dll avec mon exécutable dévelloppé en VB, mon appel doit se faire ainsi
Dim monobjet as new NomDll.NomClass
A = monobjet.NOMFONCTION()
Ecriture de ma dll dans le projet de type ClassLibrary nommé <NomDll>
Public Class NomClass
Public Function NOMFONCTION(ByRef Paramètre1 as object, ByRef Paramètre2 as object) As Integer
Code de ma fonction
end Function
End Class
Quand je compile ça, j'obtiens un fichier <NomDll.dll>
Avec le programme en C++, je dois écrire une ligne de commande dans un textbox.
"EXEC <CheminEtNomDeLaDll> <NOMFONCTION> <String correspondant à une liste de paramètres a passer à la dll>
Je ne suis absolument pas maître de cette façon de saisir l'appel a la dll.
J'ai compris que ma dll conçue en .net avait un nom intermédiare qui était celui de la classe, et que le nom de la fonction était derriere ce nom de classe.
Est ce qu'il y aurait un moyen de concevoir une dll en VB.net qui se comporte comme une dll en C++ , dont les fonctions appellables, le seraient directement ?