Inserer .dll dans un programme

asg63 Messages postés 10 Date d'inscription mercredi 10 octobre 2012 Statut Membre Dernière intervention 10 octobre 2012 - 14 juin 2011 à 13:48
asg63 Messages postés 10 Date d'inscription mercredi 10 octobre 2012 Statut Membre Dernière intervention 10 octobre 2012 - 14 juin 2011 à 16:05
Bonjour,

J'ai comme projet de commander une carte d'acquisition (Velleman VM110 ou K8055)...donc je place la dll dans C:/windows/system32...mais ca ne marche pas, j'ai l'impression que mon ordinateur ne reconnait pas cette dll.
Pouvez-vous m'aider ?

Merci,
ASG

4 réponses

Mayzz Messages postés 2812 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
14 juin 2011 à 13:52
Salut,

mais ca ne marche pas


J'adore cette phrase qui est si explicite ! On ne peut pas t'aider avec le peu de précision que tu nous donne.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
asg63 Messages postés 10 Date d'inscription mercredi 10 octobre 2012 Statut Membre Dernière intervention 10 octobre 2012
14 juin 2011 à 15:21
Désolé..en fait, je dois creer un logiciel (avec VB 2008) pour commander un moteur, qui est commandé par la carte. Celle-ci se branche par USB, et pour communiquer avec on a une dll. Ainsi je l'insère une référence dans mon programme et je place la dll dans dossier où je dois mettre la dll.
Un voyant est allumé, c'est à dire qu'elle est sous tension quand je la branche. Mais impossible d'envoyer une information. Sur un autre PC, ça marche.
Alors j'ai essayer avec le logiciel de Velleman et ça ne marche toujours pas. J'en conclus que la commande ne passe pas au niveau de la dll...a oui, j'ai trouvé sur un site qu'il fallait taper une commande dans cmd afin de référencer la dll...et j'ai omis cet étape...
0
Mayzz Messages postés 2812 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
14 juin 2011 à 15:39
Ah ben voila, comment voulais-tu que l'on devine tout ça franchement ? Quand vous demandez de l'aide cela ne vous vient pas à l'idée ? Enfin bon...

Pour ta DLL il y a plusieurs possibilités. Soit c'est un ActiveX, soit une libraire ou soit les deux.

Dans le cas d'un ActiveX l'enregistrement de celui-ci est nécessaire par Windows. Il faut donc copier la DLL dans le dossier système mais c'est facultatif. Il faut surtout taper la commande "Regsvr32.exe CheminCompletDeLaDll".

Un fois inscrite la DLL apparaitra dans les références COM de Visual Basic et tu n'auras alors plus qu'à ajouter celle-ci à ton projet.

Si c'est une librairie d'API, tu as en effet juste besoin de placer celle-ci dans le dossier système ou dans le répertoire de ton application (système est préférable) mais tu devra importer les fonctions de celle-ci. En les déclarant comme cela par exemple :

<DllImport("connectcodefont.dll")> _ 
Public Shared Function
Encode_EXT5(ByVal instr As String, _
            ByVal outstr As System.Text.StringBuilder, _
            ByVal outstrmax As Integer _
            ) As Integer


Bien entendu il te faudra connaitre toutes les fonction, les paramètres à passer en référence ou en valeur et aussi les valeurs retournées par les fonctions.

Voila, et pour la troisième possibilité, si tu as les deux c'est L'ActiveX qui se sert des fonction de la DLL ce qui te facilite la tache, dans ce cas place les deux DLL dans le sytème, enregistre l'activeX (exécute la commande sur les deux si tu ne sais pas laquelle choisir) puis ajoute la référence à ton projet.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
asg63 Messages postés 10 Date d'inscription mercredi 10 octobre 2012 Statut Membre Dernière intervention 10 octobre 2012
14 juin 2011 à 16:05
Je te remercie de cette réponse..j'essaie tout de suite !
0
Rejoignez-nous