标题不太准确,我都不知道该怎么说这个问题。我描述一下。
1.建立了一个MFC对话框程序,界面类 CClientDlg。
2.给他添加了一个通信的类 CClientSocket,通信类是基于主对话框类的。
在CClientDlg.h中的声明是CClientSocket *m_pClient
可以在主对话框事件中调用m_pClient->Send( , );发送数据
3.我给住对话框的一个按钮事件加了个子对话框CSetting。重点来了:我想在子对话框中也能用CClientSocket中的Send函数,怎么办。
我把CClientDlg类和CClientSocket类都加进去了。不过一到Send的时候就会异常。
我是这样写的
CClientDlg *dlg;
dlg->m_pClient->Send( , );但这句话会异常。
如果你们看懂了我的意思,指导我一下啊,分不是问题。主要就是想在子对话框中调用通信类
1.建立了一个MFC对话框程序,界面类 CClientDlg。
2.给他添加了一个通信的类 CClientSocket,通信类是基于主对话框类的。
在CClientDlg.h中的声明是CClientSocket *m_pClient
可以在主对话框事件中调用m_pClient->Send( , );发送数据
3.我给住对话框的一个按钮事件加了个子对话框CSetting。重点来了:我想在子对话框中也能用CClientSocket中的Send函数,怎么办。
我把CClientDlg类和CClientSocket类都加进去了。不过一到Send的时候就会异常。
我是这样写的
CClientDlg *dlg;
dlg->m_pClient->Send( , );但这句话会异常。
如果你们看懂了我的意思,指导我一下啊,分不是问题。主要就是想在子对话框中调用通信类
dlg->m_pClient->Send( , );但这句话会异常。大哥,你dlg还没有指向一个实体,当然会出错了,用CClientDlg *dlg=(CClientDlg *)AfxGetMainWnd()
也可以定义消息。
up,最好判断dlg指针是否为空,不然很危险~
方法2:定义一个CClientDl类对象的全局指针,在CClientSocket调用这个指针。
((A *)GetParent())->YourFunInA()
((B *)GetParent())->YourFunInB()B中只能写一个:
((A *)GetParent())->YourFunInA()
然后你应该会操作了
不过现在解决了,吧CClientSocket声明为静态变量