结构函数中赋值成功,但是消息函数中使用不正确
构造函数中赋值成功,但是消息函数中使用不正确在构造函数中赋值成功 恩,就应该是局部变量的问题,你可以在
构造函数中赋值成功,但是消息函数中使用不正确
在构造函数中赋值成功
恩,就应该是局部变量的问题,你可以在第一个函数中,把这个指针返回,然后接收这个指针,作为第二个函数的实参~~
[解决办法]好像没有,这里应该怎么传递进去呢
BEGIN_MESSAGE_MAP(TalkDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(ID_CLOSE, OnClose)
ON_BN_CLICKED(ID_SEND, OnSend)
//ON_MESSAGE(RE_RECEIVED,OnReceive)
END_MESSAGE_MAP()
最好把EXCHANGER_SEND_MESSAGE对象换成TalkDlg类的成员变量,然后在TalkDlg构造函数里面
new它的对象赋值操作后 通过TalkDlg指针来调用EXCHANGER_SEND_MESSAGE对象
[解决办法]void TalkDlg::OnSend()
{
clientinfomsg1->Type=12;
memcpy(clientinfomsg1->Data,m_send_info,m_send_info.GetLength());
}
OnSend被调用的时候,压根就不知道clientinfomsg1这个玩意儿指向哪儿。然后及居然使用它的成员,当然是错误的指针了。
[解决办法]clientinfomsg1 没有定义,就使用了所以错误
TalkDlg::TalkDlg(CWnd* pParent,EXCHANGER_SEND_MESSAGE *c)
中定义的clientinfomsg1,
是函数定义的局部变量。
在函数外面(另一个函数中),当然就不可用了!
[解决办法]clientinfomsg1 应该是成员变量,而不是构造函数里的一个局部变量。