CMyView
CMyDoc ---------------------
(创建线程) CSpliWndView
(MSComm串口)程序一运行就能接受MSComm口数据m_Dist,在CMyDoc类中创建一线程,通过按钮命令点击按钮后进入线程,线程里面有个循环,现在需要再每次执行循环之前接收最新的串口数据m_Dist。
可是我用pSpliWndView->m_Dist放在线程里面的循环函数部分之前,只能得到第一次的m_Dist值(也就是刚进入线程里的值),也就是m_Dist的值不能在线程里面更新。可实际上m_Dist的值是更新着的~~~~~~~~~~~~~~~~~~求高手解答!!!!!!!!!!!!!!!!!!!!!!!
CMyDoc ---------------------
(创建线程) CSpliWndView
(MSComm串口)程序一运行就能接受MSComm口数据m_Dist,在CMyDoc类中创建一线程,通过按钮命令点击按钮后进入线程,线程里面有个循环,现在需要再每次执行循环之前接收最新的串口数据m_Dist。
可是我用pSpliWndView->m_Dist放在线程里面的循环函数部分之前,只能得到第一次的m_Dist值(也就是刚进入线程里的值),也就是m_Dist的值不能在线程里面更新。可实际上m_Dist的值是更新着的~~~~~~~~~~~~~~~~~~求高手解答!!!!!!!!!!!!!!!!!!!!!!!
串口的数据的读取都没问题的,也能更新
关键是在Doc类的线程里面获取数据有问题,只能得到刚进入线程时m_Dist的数据(线程里面是一个循环),
后面循环的时候每次都需要重新获取m_Dist的值,可是m_Dist获取的值不能更新!!!!!!!
应该接收数据的时候 new一个buffer 然后发消息给主窗口 让主窗口处理这些数据。全局变量得做读写同步,数据量大的话,感觉影响效率啊