如何解决,显示终止,重试,忽略信息的错误对话框
class CMyListCtrl : public CListCtrl
{
}
char* CListDlg::InsertColumn(char*pReadpg) 解读数据包 提取字段名信息
{
unsigned long i;
char temcol[100];
int mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH ;
for( i=0; i< num_field; i++ )
{
memcpy(temcol,pReadpg,namelens[i]);
pReadpg=pReadpg+namelens[i];
temcol[namelens[i]]='\0';
MyListCtrl.AddColumn(temcol,i,i,mask,LVCFMT_CENTER);
}
return pReadpg;
}
上面这个函数,跟踪可以得到正确的字段信息
可是在执行到下面这个函数时
BOOL CMyListCtrl::AddColumn(LPCTSTR strItem,int nItem,int nSubItem,int nMask,int nFmt)
{
LV_COLUMN lvc;
lvc.mask =nMask;
lvc.fmt=nFmt; //指定列的对齐方式
lvc.pszText=(LPTSTR) strItem; //指定列文本缓冲区地址
lvc.cx=GetStringWidth(lvc.pszText)+65 ;//在这里出错,出现对话框, 我点击忽略 //指定列宽
if(nMask&LVCF_SUBITEM)
{
if(nSubItem!=-1)
{
lvc.iSubItem=nSubItem;
} //指定了条目子项索引
else
{
lvc.iSubItem=nItem;
}
}
return InsertColumn(nItem,&lvc); 在这里又出现同样的错误
}
请问这是什么问题?
为什么执行不过去 ?
一般是什么情况下出现这种问题的?
谢谢!