char *p = NULL; while(!MySet.IsEOF())
{
MySet.GetFieldValue((int)0,remain1);
MySet.GetFieldValue((int)1,sf);
p = (char *)LPCTSTR(sf);
MySet.MoveNext();
TRACE("remain1 = %s sf = %s\n",remain1,(void *)LPCTSTR(sf));
m_CtrlCmbSf.AddString( (char *)LPCTSTR(remain1) );
m_CtrlCmbSf.SetItemDataPtr(i,p);
i++;
}
之后调用GetItemDataPtr失败?????为什么
{
MySet.GetFieldValue((int)0,remain1);
MySet.GetFieldValue((int)1,sf);
p = (char *)LPCTSTR(sf);
MySet.MoveNext();
TRACE("remain1 = %s sf = %s\n",remain1,(void *)LPCTSTR(sf));
m_CtrlCmbSf.AddString( (char *)LPCTSTR(remain1) );
m_CtrlCmbSf.SetItemDataPtr(i,p);
i++;
}
之后调用GetItemDataPtr失败?????为什么
if(CB_ERR !== nIndex && CB_ERRSPACE != nIndex)
m_CtrlCmbSf.SetItemDataPtr(nIndex, p);另外,既然我觉得你这个P这样取不对,应该New一个Char[], 然后把它考过去,再来SetItemDataPtr,否则的话即使取出来了,如果你得MySet已经销毁掉的话就要出错了。