Utilisation d'une DLL C++ en VB - VB/VBA/VBS - Programmation
Marsh Posté le 12-07-2004 à 14:42:41
essaye ça :
Code :
|
Marsh Posté le 12-07-2004 à 14:50:30
Merci pour ta reponse
La declaration de la fonction est bonne ? le parametre aussi ?
VB plante pareil, meme en rajoutant
Code :
|
Marsh Posté le 12-07-2004 à 14:55:30
Oulà oui j'avais pas vu, essaye avec ca :
Code :
|
Code :
|
Marsh Posté le 12-07-2004 à 14:59:55
Si je mets char *, ca ne marchera pas car le reste de la fonction utilise les fonctions propres au string
Marsh Posté le 12-07-2004 à 15:01:58
Alors dans ce cas là je ne peux plus t'aider ...
Quand j'ai du faire une dll je me suis aidé de ce tutorial, il pourra peut être t'aider ;
www.laboratoire-microsoft.org/articles/dev/dll/1
Marsh Posté le 12-07-2004 à 15:03:21
J'ai utilisé le meme tutorial pour apprendre comment faire une DLL
Merci pour ton aide
Marsh Posté le 12-07-2004 à 17:28:27
moi j'ai voulu faire pareil que toi actsyst. Mais les string n'ont pas d'équivalence en visual basic. En tout cas c'est bcp trop compliqué pour moi. Donc j'ai passé en paramètres des char * et pour repasser en string dans mon programme en c++, je fais :
Code :
|
Cette méthode marche très bien mais j'ai encore un problème.
Quand je passe une string en paramètre de ma fonction lors de l'appel dans visual basic, mon programme c++ reconnait très bien les caractères et m'affiche tout correctement. Par contre la string de réponse renvoyée sous forme char * à mon programme en visual basic m'affiche des caractères qui n'ont rien à voir. Rien ne plante mais le message retourné par mon programme en c++ fait n'importe quoi... Le code en c++ est bon et celui en visual basic aussi. Le problème vient de la compatibilité... Mais c'est bizarre que ca marche dans un sens et pas dans l'autre...
Please help
Marsh Posté le 12-07-2004 à 19:15:54
Merci pour l'info, je v essayer ton astuce
g pas compris le commentaire que tu as mis (le reste en prenant sparam à la place de param, sparam étant une string)
quand j'aurais essaye (cad demain), je te dirais si g trouve qqc
++
Marsh Posté le 13-07-2004 à 09:42:27
C'était juste pour dire que le reste du corps de la fonction, tu l'écris en utilisant sparam en tant que string... c'était juste ça
Marsh Posté le 12-07-2004 à 14:37:35
Bonjour,
J'ai recupere un source d'encodage en Base64 afin d'en faire une dll.
Le probleme est que lorsque j'appelle une des fonctions, VB plante
le proto de la fonction C++ est :
Voici "l'extraction" en VB :
(meme avec ByVal)
et l'appel :
Auriez vous une idee d'ou cela pourrait venir svp ??
Merci