debug版本下
好像控件就是不能实例化
总是出现这样的错误
“Unhandled exception in MFD403.exe(MFC42D.Dll):0xC0000005:Access Violation.”
请问这个错误是怎么引起的啊?怎么解决阿?

解决方案 »

  1.   

    void CGMoniView::TimeWave(CRect rect)
    {
    if(!m_TimeWave)
    {
    VERIFY(!m_TimeWave);
    m_TimeWave=new CTimeWave;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    这就是那个控件
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    VERIFY(m_TimeWave);
    m_TimeWave->Create(NULL,WS_VISIBLE,rect,&m_wndFrm,0);
    }
    try{
    CString strScale;

    int n=GetTestPoint();
    float flSampFreq=g_pctlSample[m_nFlagOfCurUnit]->GetSampFreq(n); float flData[MAXDISPLAYDATA];
    strScale=m_pVibInfo[n-1].Scale;
    m_TimeWave->SetScale(strScale);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    到这一步就就出现这个错误了
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    g_pctlSample[m_nFlagOfCurUnit]->GetSampleData(flData,MAXDISPLAYDATA,n,TRUE);
    for(int i=0;i<2;i++)
    {
    m_flDanger[i]=m_pVibInfo[n-1].ACDangerVal[i];
    m_flAlarm[i]=m_pVibInfo[n-1].ACAlarmVal[i];
    }
    m_TimeWave->SetDangerAlarmValue(m_flDanger,m_flAlarm);
    m_TimeWave->SetSensorName(m_pVibInfo[n-1].SensorName);
    if(m_bResized)
    {
    m_TimeWave->ReSetControlSize(rect.Width(),rect.Height());
    }
    m_TimeWave->SetSensorType(2);  
    m_TimeWave->DrawTimeWave(flData,MAXDISPLAYDATA,flSampFreq,n,m_strCurUnit,"");
    }
    catch(...)
    {
    if(m_TimeWave)  delete m_TimeWave;
    AfxMessageBox("has some error at TimeWave ocx ");
    }
    }
      

  2.   

    if(!m_TimeWave)
    {
    VERIFY(!m_TimeWave);
    m_TimeWave=new CTimeWave;
    VERIFY(m_TimeWave);
    m_TimeWave->Create(NULL,WS_VISIBLE,rect,&m_wndFrm,0);
    }这个算是初试化了吧
    m_TimeWave 先是0x00000000{CTimeWave hWnd=???}
       这段代码后是0x0147c910{CTimeWave hWnd=0x00000000}
    有问题吗???????
      

  3.   

    跟到这里m_TimeWave->Create(NULL,WS_VISIBLE,rect,&m_wndFrm,0);看看m_wndFrm是不是NULL?
      

  4.   

    g_pctlSample[m_nFlagOfCurUnit]->GetSampleData(flData,MAXDISPLAYDATA,n,TRUE);
    是这句的数组越界了吧,看看你的m_nFlagOfCurUnit有没有初始化?