Bonjour,
bon, c'est une erreur spécifique à NT, mais on sait jamais, y a peut etre encore quelqu'un sous cet OS préhistorique comme moi!
//J'utilise une structure: typedef struct _CATEGORIE { int Num_Cat; char Categorie[1024]; int Num_Type; } CATEGORIE, *LPCATEGORIE;
//Que je remplis grâce à une requete SQL (ADO) : //On zappe tout ce qui est connection, recordset tout ça (ça marche)
count = m_pRecord->RecordCount; ListCat = (LPCATEGORIE) malloc(sizeof(CATEGORIE) * count);
//je remplis ma structure : while(!m_pRecord->EndOfFile) {
var = m_pRecord->Fields->GetItem((long)1 )->Value; if (var.vt == VT_BSTR) { bst = var; if (bst.length() > 0) strcpy(ListCat[i].Categorie, bst); else strcpy(ListCat[i].Categorie, ""); } var = m_pRecord->Fields->GetItem((long)0)->Value; t_var = var; ListCat[i].Num_Cat = (int)t_var; m_pRecord->MoveNext(); if(++i >= count) break; }
//et apres quelques traitements, je vide ma structure: free(ListCat);
|
Et le problème arrive dès que je fais free().
j'ai l'erreur "user breakpoint called..." qui apparaît. Quelque soit l'endroit ou le le place, meme sans free(), il plante dès qu'il libère la mémoire de ma structure.
Quelqu'un sait-il pourquoi? Merci!