【发布时间】:2012-08-20 11:04:09
【问题描述】:
我在 Visual Studio 的输出窗口中收到以下错误:
First-chance exception at 0x5d0d47af (msvcr100d.dll) in Program.exe: 0xC0000005: Access violation reading location 0xcccccccc.
每次执行这段代码时:
const int iItem = ListView_GetItemCount(hListOutput);
LVITEM lvI;
lvI.mask = LVIF_TEXT | LVIF_GROUPID;
lvI.iSubItem = 0;
lvI.iGroupId = 101;
lvI.iItem = iItem;
lvI.pszText = const_cast<LPWSTR>(mystr.c_str());
if (ListView_InsertItem(hListOutput, &lvI) != -1)
{
ListView_SetCheckState(hListOutput, iItem, TRUE);
}
如果我将 ListView_SetCheckState 注释掉,我将停止访问冲突。
正在插入所有项目并正在设置项目检查状态。
但我想弄清楚为什么我会遇到访问冲突。
【问题讨论】:
-
您是否记得调用
ListView_SetExtendedListViewStyle来设置LVS_EX_CHECKBOXES扩展样式?ListView_SetCheckState被记录为仅适用于LVS_EX_CHECKBOXES列表视图。
标签: c++ windows winapi access-violation