首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

下面的代码调试时,会出现Data Abort的异常?麻烦各位大侠看下

2012-05-16 
下面的代码调试时,会出现Data Abort的错误?麻烦各位大侠看下。CMainFrame *pMainWnd (CMainFrame *)AfxGe

下面的代码调试时,会出现Data Abort的错误?麻烦各位大侠看下。
CMainFrame *pMainWnd = (CMainFrame *)AfxGetApp()->m_pMainWnd;
//g_pHandle为全局变量
CWnd *pWnd = pMainWnd->FormHandlePemenent(g_pHandle);
CString rString = L"";
CRuntimeClass *prt = NULL;

prt = pWnd->GetRuntimeClass();
rString = CString (prt->m_lpszClassName());

CString sClassName[3] = { 
L"CDataBaseWindow", L"CLogWindow", L"COperationWindow" 
}; 

int i; 
int iWindowTypeIndex = 0; 
for(i = 0; i < 3; i++) 

  if( 0 == rString.Compare(sClassName[i]) ) 
  { 
  iWindowTypeIndex = i; 
  break; 
  } 


switch(iWindowTypeIndex) 

  case 0: 
  ((CDataBaseWindow *)pWnd)->OnDo(); 
  break; 
  case 1: 
  ((CLogWindow*)pWnd)->OnDo(); 
  break; 
  case 2: 
  ((COperationWindow*)pWnd)->OnDo(); 
  break; 
}

后面,根据调试信息Data Abort给出的地址信息,查找,发现这段代码if( 0 == rString.Compare(sClassName[i]) ) 有问题,还有switch处理部分的类型强制转换也有问题。为什么?请各位大侠指点。

[解决办法]
单步调试呢,看不到错误吗?
[解决办法]
先把有成为的代码屏蔽掉

热点排行