Passer un tableau de byte dans une fonction en C++ attendant un byref byte (uns

Signaler
Messages postés
3
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2010
-
Messages postés
3
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2010
-
Bonjour,

Je cherche à utiliser la fonction GetBitmapBits de la dll interop.dexterlib.dll

elle demande en argument pour récupérer le bitmap un unsigned char* traduit en byref byte
par l'ide de vb.net. Je ne connais cependant pas la manière de procéder.

j'ai essayer de re-déclarer cette function en changeant les types :

Private Declare Sub GetBitmapBits Lib "Interop.DexterLib.dll" (ByVal streamposition As Double, ByRef bsize As Integer, ByVal mybytearray() As Byte, ByVal width As Integer, ByVal height As Integer)

mais dans ce cas il me dit qu'il ne trouve pas le point d'entrée de la fonction dans la dll.

Merci de votre aide.

2 réponses

Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
Bonjour,

L'erreur que tu observe signifie que le nom de la fonction n'est pas la bonne. Pour trouver tous les noms de fonctions associé à ta dll, je te conseille ce petit programme : http://www.dependencywalker.com/

Si ta dll est une dll de type COM, il te suffit de la rajouter en tant que référence dans ton projet et tu auras accès à ses objets/méthodes dans l'explorateur d'objet (raccourcis F2)

Bonne Prog
Messages postés
3
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2010

Je n'ai pas de problème pour importer et utiliser cette DLL dans son ensemble mais un problème de type de données dans une des fonctions de cette DLL. C'est pourquoi j'ai tenté de redéclarer uniquement cette fonction en espérant faire un typage forcé...mais ça ne marche pas.

Je pense que je n'ai plus qu'à utiliser cette dll par l'intermédiaire d'une nouvelle dll que je coderai en C#
A part si quelqu'un me trouve une solution miracle pour envoyer l'adresse d'un tableau de type byte dans une fonction attendant un unsigned char* et que le compilateur de vb.Net accepte.