Stack around the variable was corrupted
Bonjour,
lors de l'execution d'une fonction d'une dll que j'ai faite, j'obtiens l'erreur suivante :
Citation:
Run-Time Check Failure #2 - Stack around the variable 'ncols' was corrupted
et cette erreur survient à la derniere ligne (sur l'accolade fermante) de la fonction suivante
Code:
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
| bool EnvirDb::TreatHeader()
{
SQLSMALLINT ncols;
std::string sHeader;
// get the column count
this->srRetour = SQLColAttribute(this->hStmt,0,SQL_DESC_COUNT,NULL,0,NULL,&ncols);
if (this->srRetour != SQL_SUCCESS && this->srRetour != SQL_SUCCESS_WITH_INFO)
{
return false;
}
sHeader = "";
// run through the columns
for (int i=0; i<ncols; i++)
{
if (i != 0)
{
sHeader += (char)254;
sHeader += (char)255;
}
... // j'ai enlevé tout le code ici car il ne touche pas à ncols
}
SendMessage(this->Onglet, WM_USER+0, 1, (LPARAM)sHeader.c_str());
return true;
} |
la fonction se déroule donc comme il faut mais c'est à sa sortie que j'obtiens l'erreur.
A noter que ce meme code fonctionne correctement dans un programme C++ non dll.