我在用 VC6.0 编写一个多线程的程序,其中主线程是对话框中的线程,一个工作线程用来从串口上读取数据
   1. 在主线程(对话框中),利用类向导生成了一个 CMSComm 类的成员函数m_msComm,然后在主线程中对m_msComm 进行的端口号、波特率等进行设置,之后利用 SetPortOpen()函数来打开串口,并启动工作线程 “ThreadProcessReadLableByComm” 并将主对话框类以参数的形式发送给工作线程。
   2. 在工作线程中(“ThreadProcessReadLableByComm”),将参数还原为“主对话框类”同时赋值给本地的定义变量pManager,之后利用 pManager-> m_msComm.GetInput() 来读取串口数据。////////--------------TempTestReadIDByComm 线程中的程序------------------
UINT CKJBigScreenDlg::ThreadProcessReadLableByComm(LPVOID pVoid)
{
CKJBigScreenDlg *pManager;   //定义指向主对话框类的指针
int iLoopTimer = 50;         //定义循环时间间隔
pManager = (CKJBigScreenDlg *)pVoid;   //将传递来的参数变为指向主对话框的指针 while(true)     //主对话
{
            ....
             VARIANT var;

var = pManager ->m_msComm.GetInput();      //通过指向主对话框的指针来访问 “CMSComm”控件的类
            ....
}
////////////////////------------------------------------------------
    在实际运行过程中,每隔几天,程序就出错问题,请问这是不是由于CMSComm 不同步引起的?
    如果是因为CMSomm 的问题,那我如何在工作线程如何处理?
    另外能否在工作线程中直接创建一个 CMSComm 的一个实例,如果可以如何创建,请给出一些代码?(不好意思,小弟已经不分了,请大家原谅,另外也请高手指点)