对话框变量访问问题
我想在对话框CCzhouxiangDlg里面访问对话框CPartzongDlg中的与编辑框控件关联的变量CString m_a, 所以我在对话框CCzhouxiangDlg加入成员变量 public:CPartzongDlg DLG;
然后在OK按钮响应函数如下代码:
void CCzhouxiangDlg::OnOK()
{
// TODO: Add extra validation here
DLG.UpdateData(TRUE);
MessageBox(DLG.m_a);
CDialog::OnOK();
}
怎么程序运行的时候出现ASSERT断言错误,这是怎么回事啊?
难道是我的方法错了吗?
问题点数:0、回复次数:5Top
1 楼xyw2278(启明星)回复于 2005-06-03 00:02:52 得分 0
应该没有创建吧,Domodal一下或Create一下Top
2 楼wanshi_53(幻相)回复于 2005-06-03 00:12:13 得分 0
还没有显示出来你的对话框呢!
模式/非模式
显示之后再进行你的处理啊!:)Top
3 楼captainwh(wh)回复于 2005-06-03 11:26:55 得分 0
你的是模式还是非模式的?
关键是在CCzhouxiangDlg显示的过程中m_a是否可以被改变
如果不可以:
那在CCzhouxiangDlg显示之前把m_a传递过去
如果可以:
那在CPartzongDlg中添加一个CString Get_a();函数,返回m_a;
把CPartzongDlg对象指针传递给CCzhouxiangDlgTop
4 楼younggle(洋溢)回复于 2005-06-03 11:51:32 得分 0
DLG.UpdateData(TRUE);
MessageBox(DLG.m_a);
=============================================
DLG 的对话框还没有被创建呢,怎么就能使用 DLG.UpdateData(TRUE)?
你可以先创建它
DLG.Create(对话框的ID,this);
DLG.ShowWindow(SW_SHOW);
DLG.UpdateData(TRUE);
MessageBox(DLG.m_a);
Top
5 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-06-03 11:59:41 得分 0
对话框没创建的原因.此时句柄为null.所以ASSERT断言错误Top




