Bonjour,
J'ai une API à ma disposition. Celle-ci possède diverses DLL. J'ai un problème avec la définition de prototype pour appeler les fonctions des dll depuis VBA, en particulier pour convertir certains types C en VBA. donc voici ma fonction en C.
Code :
- int foo(ComPortList* Liste)
- struct ComPortList{
- char name[8];
- ComType type;
- };
- enum ComType{
- COM_USB
- COM_SERIAL
- };
|
En vba j'en suis arrivé à cela.
Code :
- Public Enum ComType
- COM_SERIAL
- COM_USB
- End Enum
- Private Type ComPortList
- type As ComType
- Name As String * 8
- End Type
|
Je n'arrive pas à convertir l'énumération de la structure en une forme acceptable par vba qui puissent être compréhensible par la dll. En créant un type avec une enumération du type VBA excel plante lors de l'appel de la fonction et lorsque je ne met pas une énumération mais un autre type (Integer, Boolean), la fonction plante pas Excel, mais les résultats se trouvant dans la liste sont complétement erroné (artefact dans la chaîne de caractère).