在套接字通信的接收函数中调用CMsflexgrid1所在的函数出错?解决办法
在套接字通信的接收函数中调用CMsflexgrid1所在的函数出错?
CManSA.h:
class CManSA : public CDialog
{
CMsflexgrid1 m_grid1;
void DisplayMsg();
}
CManSA.cpp:
void CManSA::DisplayMsg()
{
m_grid1.put_Rows(1);
}
BOOL CManSA::OnInitDialog()
{
DisplayMsg(); //在这里调用这个函数,m_grid1.put_Rows(1);不会出问题
}
CClientSocket.h:
class CClientSocket : public CSocket
{
virtual void OnReceive(int nErrorCode);
};
CClientSocket.cpp:
CManSA manSA;
void CClientSocket::OnReceive(int nErrorCode)
{
manSA.DisplayMsg(); //在这里调用这个函数,能进入DisplayMsg()中,执行DisplayMsg()中别的语句不会出问题,但执行m_grid1.put_Rows(1);就会出问题: 0x77f9193c 处未处理的异常: 用户断点 。
}
------解决方案--------------------
CManSA manSA;
void CClientSocket::OnReceive(int nErrorCode)
{
manSA.DisplayMsg(); //在这里调用这个函数,能进入DisplayMsg()中,执行DisplayMsg()中别的语句不会出问题,但执行 m_grid1.put_Rows(1);就会出问题: 0x77f9193c 处未处理的异常: 用户断点 。
}
--
manSA是一个对象,在哪初始话的?和楼主想要操作的对象是同一个对象吗?
最好不要直接使用对象,而使用指针
CManSA.h:
class CManSA : public CDialog
{
CMsflexgrid1 m_grid1;
void DisplayMsg();
}
CManSA.cpp:
void CManSA::DisplayMsg()
{
m_grid1.put_Rows(1);
}
BOOL CManSA::OnInitDialog()
{
DisplayMsg(); //在这里调用这个函数,m_grid1.put_Rows(1);不会出问题
}
CClientSocket.h:
class CClientSocket : public CSocket
{
virtual void OnReceive(int nErrorCode);
};
CClientSocket.cpp:
CManSA manSA;
void CClientSocket::OnReceive(int nErrorCode)
{
manSA.DisplayMsg(); //在这里调用这个函数,能进入DisplayMsg()中,执行DisplayMsg()中别的语句不会出问题,但执行m_grid1.put_Rows(1);就会出问题: 0x77f9193c 处未处理的异常: 用户断点 。
}
------解决方案--------------------
CManSA manSA;
void CClientSocket::OnReceive(int nErrorCode)
{
manSA.DisplayMsg(); //在这里调用这个函数,能进入DisplayMsg()中,执行DisplayMsg()中别的语句不会出问题,但执行 m_grid1.put_Rows(1);就会出问题: 0x77f9193c 处未处理的异常: 用户断点 。
}
--
manSA是一个对象,在哪初始话的?和楼主想要操作的对象是同一个对象吗?
最好不要直接使用对象,而使用指针