我的程序中用到CTreeCtrl,调试单步运行到InsertItem()(即使程序是从EVC的帮助文件上COPY下来)语句时就出现0xC0000005的错误,直接运行的话到相应的地方模拟器就死掉了,但是下到板子上时可以运行的,焕一个其他的SDK也可以,实在不知道是什么原因。哪位高手能帮我分析下,谢谢。
相关代码:CTreeCtrl* pCtrl = (CTreeCtrl*)GetDlgItem(IDC_TREE_VIEW);
ASSERT(pCtrl != NULL);
pCtrl ->DeleteAllItems( );
pCtrl ->SetImageList(m_pImageTree,TVSIL_NORMAL); //为树添加目图标列表
TVINSERTSTRUCT tvInsert; //树形结点结构
tvInsert.hParent = NULL; //父结点
tvInsert.hInsertAfter = NULL; //上一个结点
tvInsert.item.iImage = 0; //未选中图标索引
tvInsert.item.iSelectedImage = 5; //选中图标索引
tvInsert.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT; //属性掩码
tvInsert.item.pszText = (LPTSTR)(LPCTSTR)Factory.itemName; //文字
m_hFactory = pCtrl ->InsertItem(&tvInsert);//到这句话就出问题了
没问题就行了,反正程序也是在板子上跑。你的模拟器是哪里找的?自己定制的?
其他人定的,我刚开始做这个,还是菜鸟了,呵呵。
但是程序还有好多东西要做,不能永远不能模拟调试啊那没法往下进行了。
还请帮忙分析下,谢谢。
你程序既然已经验证没问题了,而换SDK就行,那就是说这个SDK有问题了。重新定制。
我不知道是不是我程序写的不规范,导致有地方可以有地方不可以,还是我哪设置出了错,那个SDK原来他们一直在用,没见有什么问题啊。