DLL OLEAUT32 comment ça marche?

Résolu
julienbad Messages postés 7 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 5 juillet 2005 - 16 juin 2005 à 14:47
julienbad Messages postés 7 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 5 juillet 2005 - 16 juin 2005 à 18:00
Bonjour à tous!

Voila j'ai un problème avec l'utilisation d'un Variant .
En fait je doit utiliser une dll activeX écrite en VB avec un programme écrit sous visual C++
Pour importer la dll pas de pb! j'ai les deux headers
Mon problème survient quand je veux utiliser une fonction prenant en parametre 2 BSTR* et 2 Variant*
Fonction(BSTR* w, VARIANT* x,VARIANT* y,BSTR* z)

en fait je pense que mon erreur viens du parametre x prenant un type VARIANT*.
Je doit déclarer à ce moment un chemin d'accés sous forme de Char* et le convertir en VARIANT*

char* path2 = "c:\\fichier.cfg";
VARIANT* varDataBase = new VARIANT;
varDataBase.vt = VT_I1|VT_BYREF;
varDataBase.pcVal = path2;

mais une fois que j'utilise varDataBase une erreur de pointeur se produit :
0x77a30f68 referenced at 0x31414450
et en debeug je vois que le programme coince lors de l'utilisation de la dll OLEAUT32

Est ce que qq un sait à quoi sert cette dll

bonne journée!
julien

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 juin 2005 à 16:15
VARIANT vrt;
VariantInit(&vrt);

ciao...
BruNews, MVP VC++
3
julienbad Messages postés 7 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 5 juillet 2005
16 juin 2005 à 18:00
ça c mieux!!

_variant_t varDataBase = new _variant_t;
varDataBase.vt = VT_BSTR;
varDataBase.bstrVal = pathBstr;

ciao too
julien
3
Rejoignez-nous