Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Office Automation et Probleme memorie

2 réponses
Avatar
mickeydisn
Bonjour a tous ..


Voile depuis une semaine environ je me suis attaquer au automation
office ( word , exel , outlook )

J'utiliser pour cela:
AutoWrap() - Automation helper function...
- http://support.microsoft.com/kb/q238393/

Par contre il me semble que je rencontre des probleme de memoire.
Pouvais vous me renseinger sur les objet a liberais apres les apelle au
fonction .


Par exemple

VARIANT varRetVal;
AutoWrap(DISPATCH_PROPERTYGET, &varRetVal, msg, L"Subject", 0);
char subjec[512];
wcstombs(subjec, varRetVal.bstrVal, 512);
?? SysFreeString(varRetVal.bstrVal);

ou

VARIANT vtmp;
vtmp.vt = VT_BSTR;
vtmp.bstrVal = SysAllocString(L"MAPI");
AutoWrap(DISPATCH_METHOD, &varRetVal , this->main_app_,
L"GetNameSpace", 1, vtmp);
SysFreeString (vtmp.bstrVal); // celui la il le faux
IDispatch* namespa = varRetVal.pdispVal;
?? delete (namespa);

Enfin voila j'ai une fuite memoire qui vien de la et je sais pas
vraiment ou la situer dans l'utilisation des automations.

merci a vous !

--
mickeydisn

2 réponses

Avatar
mickeydisn
Pour liberai les IDispatch .

il faux utiliser :
->Release(); et non pas delete !!

exemple : namespa->Release();

--
mickeydisn
Avatar
Yalbrieux
Ah c'est bien ; vous avez finalement lu ce que je vous ai envoyé :)
Yves