Passer un tableau de byte dans une fonction en C++ attendant un byref byte (uns
borislecrack
Messages postés3Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 5 juillet 2010
-
1 juil. 2010 à 19:09
borislecrack
Messages postés3Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 5 juillet 2010
-
5 juil. 2010 à 20:26
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.
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 2 juil. 2010 à 11:18
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)
borislecrack
Messages postés3Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 5 juillet 2010 5 juil. 2010 à 20:26
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.