void COtlogDlg::Otobraz(int k)
{
int z=1;
if(!MS.IsBOF())
{
MS.MoveFirst();
while((!MS.IsEOF())&&(z<k))
{
z++;
MS.MoveNext();
}
sprintf(buff,"z=%d k=%d",z,k);
strcat(buff," Первое сообщение");
MessageBox(buff);
if(z==k)
{
sprintf(buff,"z=%d k=%d",z,k);
strcat(buff," Второе сообщение");
MessageBox(buff);
..............
}
...................
}
}
Ошибка в Release на простом коде
Есть следующий код:
Код:
MS-это экземпляр объекта-наследника от CRecordset.
В Дебаг версии все нормально, в Релизе вижу первое сообщение "z=1 k=1 Первое сообщение", потом сразу ошибка :"Память по такому-то адресу не может быть "write" "!Пожалустя подскажите в чем проблема?
P.S. оптимизация Disabled(Debug).
Потом что такое buff? Какаято глобальная переменная? =)
PS Хотел же пошутить, что это такая защита Microsoft от исспользования в программе их аббривиатуре MS =)))
Первая строчка функции char buff[1024]={0},rel[1024]={0}; я просто неподумавши убрал ее из предыдущего сообщения ,что-бы "не негромождать":). Я думаю ,что ошибка именно в этом месте кода,потому-что она возникала сразу после нажатия на кнопку,потом я порастовлял везде MessageBox-и , и тем более первое сообщение я же вижу...
Все таки aks ты прав ошибка не сдесь...Я поражен...
Оказалось ,что ошибка была в том что я добавил параметр в функцию-обработчик сообщений.