我在按钮事件A()中启动了一计时器,在按钮事件B()中关闭计时器,在计时器OnTimer事件中,我调用了一个函数来进行我所要求的操作,但程序一全速运行就会出错,而用调试的方法来运行就不会出错,不知是什么原因,另外,我在程序中一共启动了3个计时器,其他两个计时器工作均正常,只有这一个工作不正常,请各位高手多多指导,谢谢!

解决方案 »

  1.   

    源程序如下,请各位大虾批评指正!
    UINT liantime,tim,wait
    连续读卡按钮事件
    void CATMView::OnLianxudu() 
    {
    int sta;
    liantime=SetTimer(3,31,NULL);
    UpdateData();
        if(m_count.IsEmpty())
       sumcount=1;
        cou=0;
       sumcount=atol(m_count);
    }
    }
    停止读卡按钮事件
    void CATMView::OnTingdu() 
    {
       KillTimer(liantime);
    }
    //计时器时间响应函数
    void CATMView::OnTimer(UINT nIDEvent) 
    {
    if(nIDEvent==tim)
    {
    计时器2处理过程
    }
    if(nIDEvent==wait)
    {
      计时器1处理函数
    }  
    if(nIDEvent==liantime)
    {
         lianduwork();
    }
    CFormView::OnTimer(nIDEvent);
    }
    其中lianduwork()是我要处理的函数,计时器1、2均正常工作!
      

  2.   

    内存使用错误!地址0x00200009不能被写!环境为WIN2000
      

  3.   

    可以将lianduwork()函数先换成其他的函数试一下.