Bonjour,
J'ai un programme en C++ qui fait appel à une fonction COM en VB6. Cette fonction prend en paramètre un tableau de string et retourne un autre tableau de string.
Voilà le prototype de la fonction en VB6 :
Citation :
Public Function MaFonctionVB(Tableau() As String) As String()
|
Elle est appelée depuis C++ de cette façon :
Citation :
SAFEARRAY *PtrTableauRetour = ObjetVB->MaFonctionVB(PtrTableauArg);
sachant que PtrTableauArg est du type SAFEARRAY **
|
Le problème est que je suis incapable de lire le contenu du tableau en VB6. Je pense qu'il s'agit d'un problème de conversion de données.
En clair, dans ma fonction VB, si je fait Tableau(0), j'ai "??????" au lieu d'avoir ma chaîne de caractères.
Je peux affirmer que les données sont correctement enregistrées dans le tableau en C++, car si dans la fonction VB je retourne le tableau sans le modifier (MaFonctionVB = Tableau), C++ est capable de le déchiffrer.
Quelqu'un connaît-il une façon de convertir ces chaînes de caractères pour qu'elles soit interprétées par VB6 ?