Echec d'appel d'une fonction COM - C++ - Programmation
Marsh Posté le 19-12-2004 à 02:04:40
En substance, ça a l'air d'être parce que lorsque tu utilises le type String directement, il passe la chaîne par référence plutôt que par valeur, et boum:
http://support.microsoft.com/kb/118643/EN-US/
Essaye soit de modifier la façon dont ton objet COM est déclaré en VB (quoique, je crois que ça ne se change pas), soit de déclarer ta chaîne en Variant. Ou alors, google pour voir comment convertir des chaînes VB en chaînes C-like.
Marsh Posté le 19-12-2004 à 13:27:20
Effectivement la chaine est passée par référence donc l'appel de ma fonction échoue. En mettant
Code :
|
ca passe pour la String, mais plus pour la chaine constante et le retour de getStr ce qui est finalement logique.
pfff ce que c'est lourd de faire du vb...
Marsh Posté le 18-12-2004 à 20:48:27
salut,
j'ai une dll COM avec la fonction suivante :
Lorsque j'appelle ma fonction à partir d'un programme VB avec comme paramètre une String, ca foire.
Par contre si je mets en paramètre une fonction qui retourne une String ou une chaine constante c'est ok.
En clair,
Quelqu'un sait pourquoi ?