为什么访问对话框中控件的变量会出错?

windyhui 2003-10-16 09:37:22
CGPSTrackDlg trackdlg;
if (trackdlg.DoModal()==IDOK)
{
int temp=trackdlg.m_lsSelectedGPSTrack.GetCount();
}
其中m_lsSelectedGPSTrack是一个CList控件的变量;
望指点!
...全文
36 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zerphy 2003-10-17
  • 打赏
  • 举报
回复
控件的Value变量可以访问。
windyhui 2003-10-17
  • 打赏
  • 举报
回复
那个访问控件Value变量行吗?
zhumerchant 2003-10-17
  • 打赏
  • 举报
回复
只是当该对话框运行到变量空间外时,对话框才调用析构函数,销毁自己
zhumerchant 2003-10-17
  • 打赏
  • 举报
回复
对话框没有销毁, 只是基于对话框存在的那些窗口类销毁。
对话框还在堆栈上,还可以提取和窗口无关的变量。
windyhui 2003-10-17
  • 打赏
  • 举报
回复
在没有DoModal以前也不能访问,对吧?
quanch 2003-10-16
  • 打赏
  • 举报
回复
楼上说的对,DoModal()之后与界面相关的对象已经销毁,如果你要传递数据声明其他成员变量将结果传出。
Paris_Luo 2003-10-16
  • 打赏
  • 举报
回复
楼上正解,
if (trackdlg.DoModal()==IDOK) 此时对话框已经销毁,或者说你已经按了ok键
这时候对话框的所有变量当然无法访问,应该说对话框对象已经不存在了。
在这之前获取数据把。
xiaohyy 2003-10-16
  • 打赏
  • 举报
回复
trackdlg.DoModal()之后,对话框已经销毁了,你再访问改对话框的变量,当然出错
bulesnow 2003-10-16
  • 打赏
  • 举报
回复
up

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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