subject_20606.htm

来自「一些关于vc的问答」· HTM 代码 · 共 48 行

HTM
48
字号
<p>
序号:20606 发表者:海风 发表日期:2002-11-07 21:27:15
<br>主题:如何解决,显示终止,重试,忽略信息的错误对话框
<br>内容:class CMyListCtrl : public CListCtrl<BR>{<BR>}<BR><BR>char* CListDlg::InsertColumn(char*pReadpg)  解读数据包 提取字段名信息<BR>{&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned long i;<BR>&nbsp;&nbsp;&nbsp;&nbsp;char temcol[100];<BR>&nbsp;&nbsp;&nbsp;&nbsp;int mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for( i=0; i&lt; num_field; i++ )<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memcpy(temcol,pReadpg,namelens[i]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pReadpg=pReadpg+namelens[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temcol[namelens[i]]='\0';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyListCtrl.AddColumn(temcol,i,i,mask,LVCFMT_CENTER);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;return pReadpg;<BR>}<BR>上面这个函数,跟踪可以得到正确的字段信息 <BR>可是在执行到下面这个函数时 <BR>BOOL&nbsp;&nbsp;CMyListCtrl::AddColumn(LPCTSTR strItem,int nItem,int nSubItem,int nMask,int nFmt)<BR>{<BR>&nbsp;&nbsp;LV_COLUMN lvc;<BR>&nbsp;&nbsp;lvc.mask =nMask;<BR>&nbsp;&nbsp;lvc.fmt=nFmt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//指定列的对齐方式 <BR>&nbsp;&nbsp;lvc.pszText=(LPTSTR) strItem;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//指定列文本缓冲区地址 <BR>&nbsp;&nbsp;lvc.cx=GetStringWidth(lvc.pszText)+65 ;//在这里出错,出现对话框, 我点击忽略 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//指定列宽<BR>&nbsp;&nbsp;if(nMask&LVCF_SUBITEM)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(nSubItem!=-1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lvc.iSubItem=nSubItem;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//指定了条目子项索引&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lvc.iSubItem=nItem;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;return InsertColumn(nItem,&lvc); 在这里又出现同样的错误 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR><BR><BR>请问这是什么问题?<BR><BR>为什么执行不过去 ?<BR><BR>一般是什么情况下出现这种问题的?<BR><BR>谢谢!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Norton AntiVirus 回复日期:2002-11-07 21:28:46
<br>内容:lvc.cx=GetStringWidth(strItem)+65 <BR><BR>试试看
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-11-08 03:10:33
<br>内容:你别忽略啊,点重试然后自己去call stack里看看最后是哪句出错了……<BR><BR>俺看了看至少strItem是个野指针,你改成用new的在堆里分配吧。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:海风 回复日期:2002-11-08 11:06:50
<br>内容:俺看了看至少strItem是个野指针,你改成用new的在堆里分配吧。<BR><BR>这会出现什么问题?<BR><BR>MyListCtrl 是NEW 出来的 <BR>strItem 是字符数组<BR>&nbsp;&nbsp;&nbsp;&nbsp;char temcol[100];<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:海风 回复日期:2002-11-10 12:26:21
<br>内容:怎么没人回复了^……
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:不说 回复日期:2002-11-10 13:13:29
<br>内容:因为俺觉得这是一个极其简单的你自己跟踪一小下就可以发现的错误啊,看call stack看assert failed在什么地方不就知道是什么错了么?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小戟 回复日期:2002-11-11 08:59:32
<br>内容:lvc.pszText是LPCTSTR,不是String。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:海风 回复日期:2002-11-11 10:15:48
<br>内容:我怀疑 是不是我的派生类 绑定列表控件没有成功<BR>怎样才能确保我的派生列表类已成功绑定控件?<BR><BR>我原先已为对话框中的列表控件中 添加了我的列表派生类<BR>怎样才能确保绑定成功?<BR><BR>如何绑定?<BR><BR>现在的情况是, 几乎凡是从CListCtrl 继承的函数都用不了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?