我的程序如下:
void CMydbView::OnTimer(UNIT nIDEvent)
{
showuse();

CDialog::OnTimer(nIDEvent);
}
编译的时候就未通过。提示不能进入protected中的函数。
哪为高手指点!

解决方案 »

  1.   

    #define TIMEID 1
    SetTimer(TIMEID,1000,NULL);void CMydbView::OnTimer(UNIT nIDEvent)
    {        switch(nIDEvent)
              case TIMEID:
              {
    showuse();
               }

    CDialog::OnTimer(nIDEvent);
    }
      

  2.   

    我试了以下,出现了错误:
    error C2501: 'SetTimer' : missing storage-class or type specifiers
    error C2061: syntax error : identifier 'UNIT'
      

  3.   

    把  CDialog::OnTimer(nIDEvent) ; 
    改成 CView::OnTimer(nIDEvent) ; 你的 CMydbView 应该是从 CView 继承的,不是从 CDialog 继承的。
    这条语句的意思是调用基类的 OnTimer。另外,就算 CDialog::OnTimer 不是 protected 的 ,
    你也不能调用,因为它不是静态函数。
      

  4.   

    他还是出现了这个错误:
    error C2061: syntax error : identifier 'UNIT'
    怎么改啊?
      

  5.   

    ft,
    把 UNIT 改成 UINT  
    UINT 就是 unsigned int 你在哪里调用的 SetTimer ? 
    要在CMydbView 的成员函数中调用 SetTimer 怎么会出现 UNIT ? 是你自己敲上去的?
    尽量使用 VC 的向导,既保证拼写正确,又节约时间。
      

  6.   

    谢谢。我想用这个函数每个一秒运行一次showuse();函数,
    但搞定之后没有效果,怎么办?
      

  7.   

    没有效果是什么意思?
    是没有调用到 showuse() ,还是调用了showuse() 却没有效果?
    你可以把 .cpp 中的代码全部贴出来,我帮你看看。