Erreur "invalid allocation size"/dll

cs_guizmo83 Messages postés 2 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 18 mars 2008 - 17 mars 2008 à 19:33
cs_guizmo83 Messages postés 2 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 18 mars 2008 - 18 mars 2008 à 23:15
Bonjour à tous,
Je n'ai pas l'habitude de poster sur les forums, alors svp soyez indulgents!
Je souhaite faire une dll à utiliser à travers une macro VBA sous Excel.

Elle est écrite et compile très bien sous Visual Studio en mode console, j'obtiens même un résultat pas trop mal. Alors je réécris la même chose en mode dll, je vais chercher ma dll avec ma macro et là j'obtiens l'erreur
"program ......EXCEL.EXE"
"Invalid Allocation Size : 4292967295 bytes"

J'ai bien veillé à faire un delete de tous mes pointeurs...
Auriez-vous une idée pour m'aider svp???

Merci!

Guillaume

2 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
18 mars 2008 à 22:33
Mais quel est l'interaction entre VBA et la dll? Est-ce-que ta macro se contente d'appeler une fonction qui lance le code de la dll, ou bien il y a du code dans la macro qui utilises plusieurs fonctions?
Attention aux types des variables entre Basic et C, notamment String et tableaux...(désolé si c'est évident, on ne sait jamais)...
Peut-on voir les déclarations des fonctions et le code de la macro?
0
cs_guizmo83 Messages postés 2 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 18 mars 2008
18 mars 2008 à 23:15
Merci beaucoup pour ta réponse.
J'ai en fait trouvé le problème (on m'en avait deja parlé): les entiers passent mal de VBA à c++
Il faut en fait les déclarer comme double en argument de la fonction C++ puis faire un cast à l'aide d'une nouvelle variable.

Encore merci!
0
Rejoignez-nous