类之间 传值有关问题
类之间 传值问题
对话框 A和B 想A中的值“HELLO”传给B
在B中定义了成员函数
B::set(CString str)
{
m_txt=str;//m_txt是EDIT控件
UpdateData(true);
}
在主对话框A用以下代码调用
{
CString str= "hello ";
B dlg;
dlg.set(str);
dlg.DoModal();
}
结果出现错误 为什么呢?
------解决方案--------------------
不能在domodal之前调用set的,因为set用了updatedata函数,而那时控件什么的都还没建好,调用就会出错了.set给一个成员变量赋值吧,对话框显示时再用那个成员变量的值
------解决方案--------------------
B::set(CString str)
{
m_strTxt=str;//m_strTxt是EDIT控件邦定的CString变量
}
在
BOOL B::OnInitDialog()
{
...
UpdateData(FALSE);
...
}
对话框 A和B 想A中的值“HELLO”传给B
在B中定义了成员函数
B::set(CString str)
{
m_txt=str;//m_txt是EDIT控件
UpdateData(true);
}
在主对话框A用以下代码调用
{
CString str= "hello ";
B dlg;
dlg.set(str);
dlg.DoModal();
}
结果出现错误 为什么呢?
------解决方案--------------------
不能在domodal之前调用set的,因为set用了updatedata函数,而那时控件什么的都还没建好,调用就会出错了.set给一个成员变量赋值吧,对话框显示时再用那个成员变量的值
------解决方案--------------------
B::set(CString str)
{
m_strTxt=str;//m_strTxt是EDIT控件邦定的CString变量
}
在
BOOL B::OnInitDialog()
{
...
UpdateData(FALSE);
...
}