{
m_CnnTime="";
m_CnnState="已断开";
m_IPAddr="";
m_OverTime="0";
m_Port="";
m_RecvCount="0";
m_Send="0";
m_Succ="";
m_Time="";
m_UserName="";
m_WRCount="0";
m_AlCount="0";
m_Succ="0";
UpdateData(FALSE);
}
以上是初始个个标签的内容。我把这个函数加入OnInitDialog(),它可以运行!
然而我在OnInitDialog()新建一个线程来运行这个函数,为什么程序运行时会报错?
7 个解决方案
#1
你在运行这个线程前,DIALOG起来了吗?
#2
OnInitDialog()新建一个线程,dialog当然起来了。
#3
只要在Dialog任何地方都可以,就是新建线程调用Dialog的成员函数InitParam(),就报错误
#4
还是老办法,建timer,在timer里调用。
#5
在timer里调用就不会出现问题了
#6
什么错,我觉得你应该把你窗口的指针作为参数传给你的线程,然后在线程里用pWnd->UpdateData(FALSE);
#7
在Dialog类里面起线程,线程处理函数肯定是类的静态函数,而InitParam()函数是非静态函数,用静态函数处理非静态函数肯定会出错。
#1
你在运行这个线程前,DIALOG起来了吗?
#2
OnInitDialog()新建一个线程,dialog当然起来了。
#3
只要在Dialog任何地方都可以,就是新建线程调用Dialog的成员函数InitParam(),就报错误
#4
还是老办法,建timer,在timer里调用。
#5
在timer里调用就不会出现问题了
#6
什么错,我觉得你应该把你窗口的指针作为参数传给你的线程,然后在线程里用pWnd->UpdateData(FALSE);
#7
在Dialog类里面起线程,线程处理函数肯定是类的静态函数,而InitParam()函数是非静态函数,用静态函数处理非静态函数肯定会出错。