| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 932 人关注过本帖
标题:KaoQin.exe 中的 0x0041700c 处未处理的异常: 0xC0000005: 读取位置 0xcccc ...
只看楼主 加入收藏
cy306gogo
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2011-11-8
结帖率:100%
收藏
 问题点数:0 回复次数:3 
KaoQin.exe 中的 0x0041700c 处未处理的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突
我想初始化listbox的标题但是怎么都出来,,现在提示那个异常错误,,求大侠帮帮忙

// WH.cpp : 实现文件
//

#include "stdafx.h"
#include "KaoQin.h"
#include "WH.h"


// WH 对话框

IMPLEMENT_DYNAMIC(WH, CDialog)

WH::WH(CWnd* pParent /*=NULL*/)
    : CDialog(WH::IDD, pParent)
{

}

WH::~WH()
{
}

void WH::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_LIST1, m_List1);
}


BEGIN_MESSAGE_MAP(WH, CDialog)
    ON_BN_CLICKED(IDOK, &WH::OnBnClickedOk)
END_MESSAGE_MAP()


// WH 消息处理程序

BOOL WH::OnInitDialog()
{
    CDialog::OnInitDialog();

    const char *list[]={
    "卡号","学号","姓名","性别","班级"};
    int i = 0;
    while(*list[i]!=0x00)
    {
      m_List1.InsertColumn(i,list[i++],LVCFMT_LEFT,100);
    }
    CListCtrl *p=(CListCtrl*)GetDlgItem(IDC_LIST1);
    DWORD d=GetWindowLong(p->m_hWnd,GWL_STYLE);
    SetWindowLong(p->m_hWnd,GWL_STYLE,d|LVS_REPORT);
    DWORD styles = p->GetExtendedStyle();
    p->SetExtendedStyle(styles | LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
    // TODO:  在此添加额外的初始化
    /*
m_List1.SetExtendedStyle(
                          LVS_EX_FLATSB
                          |LVS_EX_FULLROWSELECT
        |LVS_EX_HEADERDRAGDROP
        |LVS_EX_ONECLICKACTIVATE
       );

    m_List1.InsertColumn(0,"卡号",LVCFMT_LEFT,10,0);
    m_List1.InsertColumn(1,"学号",LVCFMT_LEFT,10,1);
    m_List1.InsertColumn(2,"姓名",LVCFMT_LEFT,10,2);
    m_List1.InsertColumn(3,"性别",LVCFMT_LEFT,10,3);
    m_List1.InsertColumn(4,"班级",LVCFMT_LEFT,10,4);
*/
    return TRUE;  // return TRUE unless you set the focus to a control
    // 异常: OCX 属性页应返回 FALSE
}

void WH::OnBnClickedOk()
{
    // TODO: 在此添加控件通知处理程序代码
    OnOK();
}
搜索更多相关主题的帖子: void include 对话框 
2012-04-14 14:45
cy306gogo
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2011-11-8
收藏
得分:0 
好吧,,鄙视下我自己。解决了
2012-04-14 14:52
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
const char *list[]={
     "卡号","学号","姓名","性别","班级"};
     int i = 0;
     while(*list[i]!=0x00)
     {
       m_List1.InsertColumn(i,list[i++],LVCFMT_LEFT,100);
     }
 

这个地方有内存违规访问吧,i = 5的时候,你能保证*list[5]=0x00吗,而且 list[5]不是你应该访问的空间

可以这样,
for (int i = 0; i < _countof(list), i++) { // countof 自己计算List指针的个数
       m_List1.InsertColumn(i,list[i],LVCFMT_LEFT,100);
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-04-15 10:50
cy306gogo
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2011-11-8
收藏
得分:0 
谢谢,已经改过来了。
2012-04-15 15:43
快速回复:KaoQin.exe 中的 0x0041700c 处未处理的异常: 0xC0000005: 读取位置 0 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011874 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved