Bonjour,
comme vous vous en doutez j'ai un problème de programmation.
j'ai créé un fichier ocx avec VC++ que j'utilise dans VB comme bibliothèque.
Dans mon ocx je voudrais créer une fontion qui renvoit une string que je pourrais récupérer dans une variable VB.
Le problème est que je n'arrive pas à récupérer cette variable. Dans l'autre sens il n'y a aucun problème, les paramètres
des fonctions de l'ocx donné dans VB fonctionne très bien.
lorsque je fais afficher la valeur dans une msgbox dans vb j'obtiens des ??????
Je vous donne la fonction que j'utilise dans VC++
LPCSTR maclasse::GetResponse( VOID )
{
return (LPCSTR)Response.c_str();
}
Response étant une string dont je set la valeur par ailleurs
(si j'affiche la valeur de Response depuis le C++ la valeur est
correcte).
pour déclarer ma fonction dans le fichier .cpp j'utilise
DISP_FUNCTION(maclasse, "GetResponse", GetResponse, VT_BSTR, VTS_NONE)
pour déclarer ma fonction dans le fichier .h j'utilise
afx_msg LPCSTR GetResponse ( void);
et
dispidGetResponse = 48L,
dans mon fichier odl j'utilise
[id(48)] BSTR GetResponsereceived ( void);
l'appelle dans VB est le suivant
MsgBox myDisp.GetSCAreceived()
si quelqu'un a une idée je suis preneur.
j'espère avoir était assez clair mais si ce n'est pas le cas n'hésitez pas à me demander plus de détail
Merci