视图类中有一个变量tmax,在视图文件中赋值:
tmax = rangeTmax[0]+i*step;接着调用文档类的一个函数:
pDoc->coordinate(pDoc->dimension, pDoc->origin);文档中的这个函数是这样定义的:
void Croot_growth3DGUIDoc::coordinate(int dimension[], int origin[])
{
Croot_growth3DGUIView* pView = (Croot_growth3DGUIView *)((CFrameWnd*)AfxGetMainWnd())->GetActiveView(); dimension[0] = pView->tmax+1; //Time dimension
}
其中定义了一个视图对象。但是tmax的改变后,文档中的pView->tmax没有跟着改变,还是改变前的值。如何解决这个问题?
3X
tmax = rangeTmax[0]+i*step;接着调用文档类的一个函数:
pDoc->coordinate(pDoc->dimension, pDoc->origin);文档中的这个函数是这样定义的:
void Croot_growth3DGUIDoc::coordinate(int dimension[], int origin[])
{
Croot_growth3DGUIView* pView = (Croot_growth3DGUIView *)((CFrameWnd*)AfxGetMainWnd())->GetActiveView(); dimension[0] = pView->tmax+1; //Time dimension
}
其中定义了一个视图对象。但是tmax的改变后,文档中的pView->tmax没有跟着改变,还是改变前的值。如何解决这个问题?
3X
如果你调用的哪个函数设置了文档的tmax,那还差不多,可是从你给的代码它哪设置过文档类的什么tmax既然文档和视图需要同步一个tmax,为什么不把tmax在其中一个定义?为什么要在两个类中分别定义?好好搞清楚实例的含义,你再定义一个文档类的对象干吗?它和原来文档没啥关系,和原来视图也没啥关系
Croot_growth3DGUIView* pView = (Croot_growth3DGUIView *)((CFrameWnd*)AfxGetMainWnd())->GetActiveView();发现pView的这个变量并没有随视图文件中变量的改变而改变。