求助大神。。程序报错

DWORD WINAPI Fun(LPVOID lpParamter)
{

  AfxMessageBox("线程启动");
 while(1)
 {
     mm=Serial_Recv(handle111,recvbuff,sizeof(recvbuff));
     if(mm!=0)
      {
         CMainFrame *pMain;
         pMain->panduan(mm);

      }
 }
 return 0L;

}
void CMainFrame:: panduan(int mm)
{ if(recvbuff[0]==0x03)
{ AfxMessageBox("接收到串口数据,弹出对话框");

  Onve();


 }
}

上述函数编译没问题,但是收到数据包后出现0XC000005的错误,Onve()是用来右下角弹出对话框的,属于CMainFrame的成员函数。请问上述调用方式有问题吗?求解!谢谢大神们,初学VC

你把panduan作为回调函数?不能用成员函数作为回调函数,应该定义成静态的。

已经在类中定义了static panduan()
改成DWORD WINAPI Fun(LPVOID lpParamter)
{
AfxMessageBox("线程启动");
while(1)
{
mm=Serial_Recv(handle111,recvbuff,sizeof(recvbuff));
if(mm!=0)
{

     CMainFrame::panduan(mm);

  }

}
return 0L;
}
void CMainFrame:: panduan(int mm)
{ if(recvbuff[0]==0x03)
{ AfxMessageBox("接收到串口数据,弹出对话框");
Onve();

}
}
编译报错error C2352: 'CMainFrame::Onve' : illegal call of non-static member function
Onve()是类的成员函数啊,怎么回事呢