žžž 代码结构调整,请经验丰富的高手指点迷津。题目较长,过客就不必耽误这个时间了 žžž
沈阳人 2002-05-21 08:58:37 SDI---FORMVIEW结构的程序
原有的结构如下描述:
CxView::fun1()
{
a = 9 ;//CxView成员变量
...
doc_in_CxView->hello = 100 ; //DOC类的成员变量
...
fun2();//CxView成员函数
...
fun3();//CxView成员函数
...
}
CxView::fun2()
{
...
}
CxView::fun3()
{
...
}
现在希望把fun1()作为一个单独的线程来调用,使用AfxBeginThread()来启动fun1(),把CxView的当前对象指针作为参数传送进去,如下:
AfxBeginThread(fun1,(LPVOID)this);
对fun1()函数做如下转换:
UINT CxView::fun1(LPVOID k)
{
CxView * view_in_thread = (CxView *)k ;
k->a = 9;
...
k->fun2();
...
k->fun3();
...
}
这种调整方式对不对?为什么调整后编译通过,在运行的时候却出现了异常,是在MFC中的ASSERT报的错误。怎么回事?
请经验丰富的高手指点迷津。