运行后提示: 试图越过数据的有效存贮空间
下面是我的关键代码,想实现实时显示信息在编辑框中,即右击显示,将相应的字段名信息显示在编辑框中,但是运行出现试图越过数据的有效存贮空间的错误,能显示第一个表中的数据,但是点击第二项的时候,显示的还是第一项中的信息,该怎么解决啊?,没有财富值了,求好心人帮助~~~
HTREEITEM hItem=m_treeCtrlScene.GetSelectedItem();
CString StrText=m_treeCtrlScene.GetItemText(hItem);
CScene *m_rs=new CScene;
while(hItem)
{
if (m_treeCtrlScene.GetCheck(hItem))
{
if (m_rs->IsOpen())
{
m_rs->Close();
}
m_rs->Open();
m_rs->MoveFirst();
while(!m_rs->IsEOF())
{
char filter[200];
wsprintf(filter,"[Scene].filename='%S'",StrText);
m_rs->m_strFilter=filter;
m_rs->Requery();
UpdateData(true);
m_jscs=m_rs->m_model_explain;
UpdateData(FALSE);
m_rs->MoveNext();
}
}
}
m_rs->Close();
delete m_rs;
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
[解决办法]
wsprintf(filter,"[Scene].filename='%S'",StrText);中的'应该用转义\'字符。