Bonjour à tous,
Ca fait maintenant quelques jours que j'essaye de résoudre un problème et malgré toute ma bonne volonté j'ai toujours pas trouvé...
Je voux explique le bazar.
Un boite dont je suis client m'a fourni une DLL que je dois mettre en place sur un projet .NET. Cette DLL est dévelopée en C++ et voici la fonction qu'elle contient qui m'intéresse:
Code :
- void mafonction(
- long * param_un,
- long param_deux,
- unsigned char * param_trois,
- unsigned char * param_quatre)
|
Les paramètres 1 et 4 sont des paramètres de sortie et les 2 et 3 sont des entrées.
J'ai déjà testé cette fonction de la DLL en C avec le .lib et le .h fourni avec la DLL, tout fonctionne nickel.
Pour le VB .NET, je n'arrive pas à avoir de résultats en retour, et je ne sais pas non plus si les entrées lui sont bien passées...
Voici la déclaration de la fonction que j'ai faite dans le programme:
Code :
- Private Declare Sub mafonction Lib "madll" _
- (ByVal param_un As Long, _
- ByVal param_deux As Long, _
- ByVal param_trois As String, _
- ByVal param_quatre As String)
|
Avec ensuite un appel en
Code :
- Call mafonction(a,b,c,d)
|
J'ai surement fait des erreurs dans la conversion de types, notamment le long * -> Long et j'ai lu quelquepart que les String à passer en paramètre d'une DLL devaient être de taille fixe, ce qui n'est plus possible en VB .NET...
Le programme compile mais les résultats ne sont pas au rendez-vous...
Je débute complètement dans l'utilisation des DLL, merci d'éclairer ma lanterne si vous en avez la possibilité !