为什么赋值不上,请大家看看啊,有点复杂,但对我很重要,谢谢了

jinyanhe 2011-03-29 12:52:12
pDoc->m_Route=this->GetDocument()->GetRouteType(); //双向线路或单向线路
CDLGInputRouteCost *InputCost=new CDLGInputRouteCost()
if(InputCost)
{
BOOL BCreate=InputCost->Create(IDD_DLG_InputRouteCost,this); //输入线路cost
}
InputCost->ShowWindow(SW_SHOW);
m_Route->OnDraw(dc);
m_Route->m_iRelateCityIDOne=pDoc->m_iRelateCityID1;
m_Route->m_iRelateCityIDTwo=pDoc->m_iRelateCityID2;
AidRoute(m_Route);

函数AidRoute代码: 双向线路中包括两个单向线路m_WayCome,m_WayGo void CFindPathDoc::AidRoute(CRoute* Route) //向m_RouteList中添加单向线路。由于我必须添加的是单向线路 {
CBothWayRoute* BothRoute=new CBothWayRoute();
BothRoute=NULL;
if(dynamic_cast<COneWayRoute*>(Route)) //如果为单向线路 {
this->m_RouteList.push_back(Route);
}
if(dynamic_cast<CBothWayRoute*>(Route)) //如果为双向线路 则相当于pushback两个单向线路 {
BothRoute=dynamic_cast<CBothWayRoute*>(Route);
this->m_RouteList.push_back(BothRoute->m_WayCome);
this->m_RouteList.push_back(BothRoute->m_WayGo);
}
}
其中CBothWay类构造函数如下
CBothWayRoute::CBothWayRoute(CPoint ptFirst,CPoint ptSecond,COLORREF Color,int RouteWidth)
{
m_ptFirst=ptFirst;
m_ptSecond=ptSecond;
m_Color_Route=Color;
m_iWidth_Route=RouteWidth;
m_iRouteCost=0;

this->m_WayCome=new COneWayRoute(m_ptFirst,m_ptSecond,m_Color_Route,m_iWidth_Route);
this->m_WayCome->m_iRouteCost=m_iRouteCost;
this->m_WayCome->m_bCriticalPath=m_bCriticalPath;
this->m_WayCome->m_iRelateCityIDOne=m_iRelateCityIDOne;
this->m_WayCome->m_iRelateCityIDTwo=m_iRelateCityIDTwo;

this->m_WayGo=new COneWayRoute(m_ptSecond,m_ptFirst,m_Color_Route,m_iWidth_Route);
this->m_WayCome->m_iRouteCost=m_iRouteCost;
this->m_WayCome->m_bCriticalPath=m_bCriticalPath;
this->m_WayCome->m_iRelateCityIDOne=m_iRelateCityIDTwo;
this->m_WayCome->m_iRelateCityIDTwo=m_iRelateCityIDOne;
}
当线路为单向的时候程序正常,但是线路为双向的时候,bothWay中的m_waycome和m_waygo中的m_iRouteCost,m_iRelateCityIDOne,m_iRelateCityIDTwo不能正确的得到对话框 CDLGInputRouteCost 中赋值的cost,这三个都为0,这是为什么呢
...全文
98 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinyanhe 2011-03-31
  • 打赏
  • 举报
回复
问题我自己解决了

679

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧