有高手在吗?菜鸟提个问题,为什么树型控件初始化时 这个函数InitTree()可以调用很多次,但这个函数InitEnquryTree(TCHAR *lptext)只可以调用一次 ,或者一次 都不行?
Binglibianji::InitTree()
{
CTreeCtrl * pCtrl=(CTreeCtrl*) GetDlgItem(IDC_TREE);
ASSERT(pCtrl!=NULL);
TVINSERTSTRUCT tvinsert;
tvinsert.hParent=NULL;
tvinsert.hInsertAfter=NULL;
tvinsert.item.mask= TVIF_TEXT|TVIF_CHILDREN;
tvinsert.item.pszText=_T("姓名");
tvinsert.item.cChildren=1;
HTREEITEM hCountry=pCtrl->InsertItem(&tvinsert);
HTREEITEM hSecItem;
pCtrl->InsertItem(TVIF_TEXT, _T("首页"),0, 0, 0, 0, 0,hCountry,NULL);
}
Binglibianji::InitEnquryTree(TCHAR *lptext)
{
CTreeCtrl * pCtrl=(CTreeCtrl*) GetDlgItem(IDC_TREE);
ASSERT(pCtrl!=NULL);
TVINSERTSTRUCT tvinsert;
tvinsert=new TVINSERTSTRUCT;
memset(tvinsert,0,sizeof(TVINSERTSTRUCT));
tvinsert.hParent=NULL;
tvinsert.hInsertAfter=NULL;
tvinsert.item.mask= TVIF_TEXT|TVIF_CHILDREN;
tvinsert.item.pszText=_T("姓名 ");
wcscpy(tvinsert.item.pszText,lptext);
tvinsert.item.cChildren=1;
HTREEITEM hCountry=pCtrl->InsertItem(&tvinsert);//有时这个地方报错
ASSERT(hCountry != NULL);
m_tree.InsertItem(TVIF_TEXT, _T("首页"),0, 0, 0, 0, 0,hCountry,NULL);//有时这个地方报错
}
HTREEITEM hCountry=pCtrl->InsertItem(&tvinsert);//有时这个地方报错
这里报这个错误:First-chance exception in gues.exe
(0x80000002:Datatype Misalignment)
First-chang exception in corell.dll
(0xC0000005:Access Violation)
是PB报错
InitTree()这个函数也只能调用一次了
First-chance exception in gues.exe
是这个错误First-chance exception in gwes.exe
wcscpy(tvinsert.item.pszText,lptext);这个复制操作是成功的