Bonjour,
J'utilise VS2010. J'ai eu un problème avec les CTreeCtrl:
Lors de la destruction de la fenêtre ça plante. Et je cherche à savoir pourquoi:
Le code où ça bloqueDonc, comme ça ne vient que de plus haut dans mon code...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void __cdecl _free_base (void * pBlock) { int retval = 0; if (pBlock == NULL) return; RTCCALLBACK(_RTC_Free_hook, (pBlock, 0)); retval = HeapFree(_crtheap, 0, pBlock); if (retval == 0) { errno = _get_errno_from_oserr(GetLastError()); } }
Je suis sûr que ça vient du CTreeControl : si je ne le remplis pas, ça ne bug pas.
Donc voila comment ça fonctionne.
J'ai un objet database dans lequel je stocke les HTREEITEM générés à chaque ajout, cet objet est detruit avant la fenêtre(j'ai essaié d'enlever tout les items du Tree un à un avant la fermeture de la fenêtre, ça ne change rien.
C'est un peu près tout ce que je peux vous dire.
Je trouve cela un peu bizzare (j'avais essaié la nouveelle classe CMFCTreeControl et un simple DeleteAllItem() générait l'erreur)
Si quelqu'un connaissait l'origine du problème, merci de m'en faire part. (Parce que le bug à la fermeture du programme, ça fait bazzare).
Partager