의 상태를 확인하십시오첫 번째 예외 설정은 목록보기
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
을 주석 처리하면 액세스 위반이 중지됩니다.
모든 항목이 삽입되고 항목 검사 상태가 설정됩니다.
하지만 액세스 위반이 발생하는 이유를 알고 싶습니다.
'LVS_EX_CHECKBOXES' 확장 스타일을 설정하기 위해'ListView_SetExtendedListViewStyle'을 호출하는 것을 기억 했습니까? 'ListView_SetCheckState'는'LVS_EX_CHECKBOXES'리스트 뷰에서만 작동하는 것으로 문서화되어 있습니다. –