请问:为什么在主对话框下已经打开的串口,在子对话框中却没有打开呢。
也就是在子对话框中对串口进行读写操作时,串口仍是关闭的,而在主对话框中这个串口确实已被打开了。在vc下,怎么才能做到串口一旦被打开,无论在什么对话框下都可以对串口进行操作,直到我把它关闭为止,请各位指点。
在线等待。在这先谢谢各位兄弟!
也就是在子对话框中对串口进行读写操作时,串口仍是关闭的,而在主对话框中这个串口确实已被打开了。在vc下,怎么才能做到串口一旦被打开,无论在什么对话框下都可以对串口进行操作,直到我把它关闭为止,请各位指点。
在线等待。在这先谢谢各位兄弟!
{
// TODO: Add your control notification handler code here
char cParity;
switch(m_Parity)
{
case NOPARITY:
cParity = 'N';
break;
case ODDPARITY:
cParity = 'O';
break;
case EVENPARITY:
cParity = 'E';
break;
case MARKPARITY:
cParity = 'M';
break;
case SPACEPARITY:
cParity = 'S';
break;
default:;
}
DWORD dwCommEvents = EV_RXCHAR;
m_Ports.InitPort(this, m_Serial+1,atoi(m_BaudRate),cParity,atoi(m_DataBits),
m_StopBits+1,
dwCommEvents,
atoi(m_SendBuffer));
m_Ports.StartMonitoring();
}
{
if (!(m_Thread = AfxBeginThread(CommThread, this)))
return FALSE;
TRACE("Thread started\n");
return TRUE;
}
就是这里的这个this指标,它只是指向主对话框,所以在子对话框不能用,如果真是这样的话,那么该怎么改呢?
至于第一个参数实际上是串口消息目的窗口的指针,就是说有消息的话发到它指
的那个窗口。