错误情况1:
kernel32.dll!7c812fd3()
[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]
T5CAPP14.exe!CTH_PIMSBaseDoc::UpdateAllViewsEx(CView * pSender=0x00000000, long lHint=0, CObject * pHint=0x00000000) 行76 C++
T5CAPP14.exe!CTH_PIMSMngTreeView::OnSelchanged(tagNMHDR * pNMHDR=0x0012f76c, long * pResult=0x0012f458) 行639 C++
mfc90.dll!78669559()
内部代码:
void CTH_PIMSBaseDoc::UpdateAllViewsEx(CView* pSender, LPARAM lHint ,
CObject* pHint )
{
this->UpdateAllViews(pSender,lHint,pHint);
bModified = FALSE;
}
CView * pSender=0x00000000, long lHint=0, CObject * pHint=0x00000000
这三个参数值可能没传正确
http://blog.csdn.net/jeanwaljean/article/details/5985698
CTH_PIMSMngTreeView::OnSelchanged函数中你的代码写了些什么?
VisualEleven Eleven Ds Rxr 2017.03.27 18:02
采纳
CTH_PIMSMngTreeView::OnSelchanged函数中你的代码写了些什么?
void CTH_PIMSMngTreeView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
CPIMSTransactCheck oTransCheck(_T("CTH_PIMSMngTreeView::OnSelchanged"));
if(m_bRefreshing) return;
m_bRefreshing = TRUE;
CLEAR_COMMAND_UI_STATE
CWaitCursor tempWait;
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
// 改变文档的当前的对象
CTH_PIMSTreeViewCursor CurrentTreeItem(pNMTreeView->itemNew.hItem,this);
CTH_PIMSTreeItemData * pItemData = CurrentTreeItem.GetTreeItemData();
// 获得当前节点的引用对象标识
CTH_ObjectRef CurObjRef;
CurObjRef = pItemData->GetData();
CT5AppDoc * pPIMSMngDoc = (CT5AppDoc *)this->GetDocument();
//判断当前选择的对象是否是离线文档对象
if (!isEnableFileBrowser(CurrentTreeItem)) {
//隐藏离线浏览停靠栏
GetMainFrame()->BrowserOfflineFile(pPIMSMngDoc, this, FALSE, FALSE);
} else {
//更新离线浏览停靠栏的显示内容
// 注意:如果离线浏览停靠栏没有处于显示状态,则不强制显示
// GetMainFrame()->BrowserOfflineFile(pPIMSMngDoc, this, TRUE, FALSE);
//等待树控件完成选择节点的切换后,再响应此消息
PostMessage(TCM_UPDATE_T5BROWSER_WHEN_SWITCHFRAME, 0, 0);
}
pPIMSMngDoc->SetCurrentObj(CurObjRef);
// 重置当前的历史记录号,表示使用最新的版本
pPIMSMngDoc->ResetCurrentHistoryNum();
// 获得当前节点的目标元素对象
IOb_ObjectPtr pTargetElementPtr;
pTargetElementPtr = pPIMSMngDoc->GetTargetElement(CurObjRef);
IOb_EleLinkFolderPtr pEleLinkFolderPtr = NULL;
pEleLinkFolderPtr = pTargetElementPtr;
// 如果不是链接分类对象,则从数据库中读取
if(pEleLinkFolderPtr == NULL)
{
pTargetElementPtr->RetrieveMainPropertys();
if(pTargetElementPtr->GetLastResult() != 0 )
{
T5MessageBox((TCHAR *)pTargetElementPtr->GetLastErrMsg(),MB_OK|MB_ICONWARNING);
m_bRefreshing = FALSE;
m_LastViewCursor = CurrentTreeItem;
*pResult = 0;
return ;
}
pTargetElementPtr->GetOwnerInfo()->Retrieve();
//add by cw 20090819
//更新当前的项目组快速切换信息
UpdateProjectGroupInfo();
}
// 通知文档的所有视图文档已经发生变化
pPIMSMngDoc->UpdateAllViewsEx(NULL);
this->UpdateTreeItem(m_LastViewCursor);
m_LastViewCursor = CurrentTreeItem;
//[ add by luoxb 2010-10-19
// 根据右键上下文菜单应显示的内容更新Ribbon菜单上的对应功能列表,包括"新建","扩展功能"
UpdateRibbonFromContextMenu();
//] end add 2010-10-19
//[ add by luoxb 2010-12-12
UpdateOpContext(CurrentTreeItem);
//] end add 2010-12-12
GetApp()->OnIdle(0);
TRACE0("CTH_PIMSMngTreeView::OnSelchanged\n");
*pResult = 0;
m_bRefreshing = FALSE;
}