Je suis newbie dans le monde des MFC et des composants ActiveX.
Voici le problème : je suis chargé d'intégrer un composant ActiveX (des charts) ds une appli VC6.0.
Une contrainte est que dans la page où doit s'afficher le composant, je dois créer une instance du composant dynamiquement, au lieu de le poser dans la fenêtre lors du design.
Je crée une instance du composant, et dès que j'appelle une méthode sur ce composant, la méthode Invoke échoue().
Le composant est bien déclaré dans la registry et dans le projet (çà marche pour les démos).
Est-ce possible de faire ainsi, ou bien suis-je obligé d'ajouter le composant dans le fenêtre ?
çà plante sur l'assert. Mais je ne sais pas ce qu'il faut faire pour setter m_pCtrlSite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ...) { ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least) if (m_pCtrlSite == NULL) return; va_list argList; va_start(argList, pbParamInfo); m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo, argList); va_end(argList); }
Partager