1 错误提示:
2 点击“重试”,弹出如下窗口
3 点击”中断“,在vs界面上找到调用堆栈窗口,如图所示:
4 由上往下,很容易看到问题出现在DoDataExchage(`````)函数中,源码如下:
void CTrainDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON_START, m_btnStart);
DDX_Control(pDX, IDC_LIST1, m_ctlUSBList);
DDX_Control(pDX, IDC_IXYPLOTX1, m_ixyPlotForce);
DDX_Control(pDX, IDC_STATIC_STROKE, m_stcStroke);
DDX_Control(pDX, IDC_BUTTON_RETURN, m_btnReturn);
DDX_Control(pDX, IDC_ISEVENSEGMENTANALOGX1, m_iSevenSegmentAnalogX1);
DDX_Control(pDX, IDC_OCX1, m_video);
DDX_Control(pDX, IDC_STATIC_TIMELEFT, m_stcTimeLeft);
DDX_Control(pDX, IDC_STATIC_DISTANCE, m_stcDistance);
DDX_Control(pDX, IDC_STATIC_CALORIE, m_stcEnergy);
DDX_Control(pDX, IDC_ISEVENSEGMENTANALOGX_TIMELEFT, m_iSevenSAXTimeLeft);
}
5 找到错误!
原来数码管显示控件最先的ID为IDC_ISEVENSEGMENTANALOGX1,并关联变量m_iSevenSegmentAnalogX1。
后来我将数码管显示控件的ID改为IDC_ISEVENSEGMENTANALOGX_TIMELEFT,并关联变量m_iSevenSAXTimeLeft。结果就报错了!