Bonjour,
j'ai une fenêtre dans laquelle j'aimerais insérer un contrôle pour afficher du html à partir d'une chaîne.
J'ai donc créé une classe qui hérite de CHtmlEditCtrl. Je créé mon contrôle avec un Create, et tout se passe bien jusqu'au moment où je veux afficher du html.
J'ai écrit une méthode Write que voici :
J'ai un crash sur cette ligne :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 bool CMyHtmlEditCtrl::Write(char *szTexte) { if (!szTexte || !*szTexte) return false; IHTMLDocument2 *pIHTMLDocument2 = NULL; BOOL ret = this->GetDHtmlDocument(&pIHTMLDocument2); ASSERT(pIHTMLDocument2); if (!pIHTMLDocument2) return false; HRESULT hresult = S_OK; VARIANT *param; SAFEARRAY *sfArray; // Creates a new one-dimensional array sfArray = SafeArrayCreateVector(VT_VARIANT, 0, 1); if ((sfArray != NULL) && (pIHTMLDocument2 != NULL)) { hresult = SafeArrayAccessData(sfArray,(LPVOID*) & param); param->vt = VT_BSTR; param->bstrVal = CString(szTexte).AllocSysString(); hresult = SafeArrayUnaccessData(sfArray); hresult = pIHTMLDocument2->write(sfArray); if (!SUCCEEDED(hresult)) MessageBox("Pas trouvé le body", "", MB_OK); hresult = pIHTMLDocument2->close(); } if (sfArray != NULL) SafeArrayDestroy(sfArray); pIHTMLDocument2->Release(); return true; }
hresult = pIHTMLDocument2->write(sfArray);
Si vous avez une idée d'où vient le crash, c'est super. Si vous avez une méthode pour afficher du html dans un ctrl sans passer par ce bazar, ça me va aussi.Exception non gérée à 0x44bbd9e6 dans AmelioreOrthographeMDI.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0xfeeeff16.
Merci
Partager