Bonjour à tous

J'explique mon problème.

Je dois créer un vbscript qui utilise les fonctions d'une dll fournie par un fabricant de cartes PCI

Pour utiliser cette dll, j'ai récupéré dynamic wrapper x (dynwrappx.dll) car j'ai cru voir sur ce forum que je n'ai pas d'autres moyens

Voici mon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Function Lance()
 
Dim Bus_num(4)
Dim Slot_num(4)
Dim Card_num
Dim DX
 
Set DX = CreateObject("DynamicWrapperX")
 
DX.Register "PI16.dll", "PI16_get_card_pos", "r=uuu"
DX.PI16_get_card_pos bus_num, slot_num, card_num
 
End Function
Cette fonction a 0 paramètre en entrée et 3 en sortie

Quand je lance cette fonction via VBS Factory, je suis carrément viré de VBS Factory sans message d'erreur

Quand je double clique sur le fichier.vbs j'ai le message "Nb d'arguments ou affectation de propriété incorrects"

Peut etre que le problème vient de la définition de mes variables. Sur la doc, on me dit que la fonction est de type Bool PI16_get_card_pos(OUT ULONG* bus_num, OUT ULONG* slot_num, OUT ULONG* cards_num)
avec bus_num tableau de 4 max et slot_num tableau de 4 max

Est ce que j'ai mal défini mes variables ?

Sinon je sais que dans cette dll, il n'y a pas de fonction DllRegister. Est ce que ce ne serait pas ça la raison de mon problème ?

Merci pour toute l'aide que vous pouvez m'apporter car là je suis totalement bloqué