Activer un API specifique en VB 2005

alsace41 Messages postés 6 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 11 septembre 2007 - 11 sept. 2007 à 19:52
alsace41 Messages postés 6 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 11 septembre 2007 - 11 sept. 2007 à 21:31
J'ai un automate programmable de chez Velleman commandé par PC.

Jusqu'à présent je fonctionnais en VB6 et j'ai décidé de passer en visual basic 2005.

Je n'arrive pas à activer la commande .dll

voici un extrait de mon programme:
    Dim CardAddress As Long

    Public Declare Function OpenDevice Lib "k8061.dll" () As Long
    Public Declare Sub CloseDevices Lib "k8061.dll" ()
.....

et la commande
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim h As Long
        h = OpenDevice
        textbox1.text = CType(h, String)
    End Sub

l'erreur qui m'est affichée est la suivante

Impossible de charger la DLL 'k8061.dll': Le module spécifié est introuvable. (Exception de HRESULT : 0x8007007E)

J'ai installé k8061.dll dans system32
je suis en Windows 2000

Merci pour votre aide
Louis

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 sept. 2007 à 19:57
Bien que ce ne soit pas ça la cause de l'erreur (enfin , je pense, c'est ce genre de message d'erreur habituellement), si la valeur de retour est effectivement de type Long en VB6, il faut que tu la déclare de type Integer en VB2005 et pas en Long.

Les types de variables ont changés entre VB6 et VB2005

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
alsace41 Messages postés 6 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 11 septembre 2007
11 sept. 2007 à 20:38
Je viens de faire le passage de h en integer, ca ne change rien

En VB6 les objets étaient indicés, c'est le seul changement sur les variables
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 sept. 2007 à 20:40
h ok, mais surtout la déclaration de la dll :

    Public Declare Function OpenDevice Lib "k8061.dll" () As Integer

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
alsace41 Messages postés 6 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 11 septembre 2007
11 sept. 2007 à 20:48
ca ne change rien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 sept. 2007 à 21:07
Vérifie que tu as bien les fichiers K8061.DLL et MPUSBAPI.DLL dans System32.

MPUSBAPI.DLL doit certainement etre une dépendance de k8061

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
alsace41 Messages postés 6 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 11 septembre 2007
11 sept. 2007 à 21:31
Un grand merci, ca marche

Voila une réponse rapide et efficace

Louis
0
Rejoignez-nous