Сразу после перехода на VS2012 с VS2010 я продолжаю получать одно и то же падение снова и снова.
Ошибка BEX с кодом C0000409.
static void LoadBonus()
{
// Get Bonus EXP
{
sql::Statement* stmt = mysql_con_sps->createStatement();
sql::ResultSet* res = stmt->executeQuery("SELECT `value` FROM `variables` WHERE `name` = 'expbonus'");
if (res->next())
{
dwBonusEXP = res->getInt("value");
delete stmt;
delete res;
}
else
{
delete stmt;
delete res;
printf("MySQL Error: GetBonusEXP Failed.\n");
WriteToFile("SQLLog.txt", "MySQL Error: GetBonusEXP Failed.\n");
ExitProcess(0);
}
}
// Get Bonus SP
{
sql::Statement* stmt = mysql_con_sps->createStatement();
sql::ResultSet* res = stmt->executeQuery("SELECT `value` FROM `variables` WHERE `name` = 'spbonus'");
if (res->next())
{
dwBonusSP = res->getInt("value");
delete stmt;
delete res;
}
else
{
delete stmt;
delete res;
printf("MySQL Error: GetBonusSP Failed.\n");
WriteToFile("SQLLog.txt", "MySQL Error: GetBonusSP Failed.\n");
ExitProcess(0);
}
}
printf("[Server] BonusExp: %d BonusSP: %d\n", dwBonusEXP, dwBonusSP);
}
В самом конце этой функции компилятор добавляет вызов, связанный с флагом / GS, в котором происходит сбой C0000409.
Почему это происходит и как я могу это исправить?
Спасибо.
Задача ещё не решена.
Других решений пока нет …