关于mfc调用函数问题!!
以下是一个mfc做的服务器的一部分代码!这两个函数是什么时候调用的呢?voidCTcpSeverDlg::onac(){//Beep(2000,100);CStrings...
以下是一个mfc做的服务器的一部分代码!
这两个函数是什么时候调用的呢?
void CTcpSeverDlg::onac()
{
//Beep(2000,100);
CString str1,str;
GetDlgItemText(IDC_EDITRev,str1);
CString str2="\r\n用户进入";
str=str1+str2;
SetDlgItemText(IDC_EDITRev,str);
sever.Accept(Recv);
Recv.setp(this);
}
void CTcpSeverDlg::oncl()
{
// Beep(2000,100);
CString str1,str;
GetDlgItemText(IDC_EDITRev,str1);
CString str2="\r\n用户退出";
str=str1+str2;
SetDlgItemText(IDC_EDITRev,str);
if(!Recv) Recv.Close();
}
void CTcpSeverDlg::OnBUTTONListen()
{
// TODO: Add your control notification handler code here
CString ipstr,portstr;
int port;
GetDlgItemText(IDC_EDITPort,portstr);
portstr.TrimLeft();
portstr.TrimRight();
port=atoi(portstr);
if(port>0&&port<9999){
if(sever.Create(port)){
// cslisten.Bind(port);
sever.Listen();
sever.setp(this);
sever.Listen();
CWnd *cw=GetDlgItem(IDC_EDITPort);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_BUTTONListen);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_EDITRev);
cw->SetWindowText("\r\n正在后台等待用户连接,监听端口:"+portstr+"...");
}
else{
MessageBox("绑定监听端口失败,请确认该端口没有被其它程序占用");
sever.Close();
}
}
else{
MessageBox("端口输入有误,请重新输入");
}
}
onbutton是按下button时候调用!但是onac和oncl是做什么动作的时候调用呢!?
oncl 如果是普通成员函数 为什么没有看到在其他函数看到调用 以用word 搜过 展开
这两个函数是什么时候调用的呢?
void CTcpSeverDlg::onac()
{
//Beep(2000,100);
CString str1,str;
GetDlgItemText(IDC_EDITRev,str1);
CString str2="\r\n用户进入";
str=str1+str2;
SetDlgItemText(IDC_EDITRev,str);
sever.Accept(Recv);
Recv.setp(this);
}
void CTcpSeverDlg::oncl()
{
// Beep(2000,100);
CString str1,str;
GetDlgItemText(IDC_EDITRev,str1);
CString str2="\r\n用户退出";
str=str1+str2;
SetDlgItemText(IDC_EDITRev,str);
if(!Recv) Recv.Close();
}
void CTcpSeverDlg::OnBUTTONListen()
{
// TODO: Add your control notification handler code here
CString ipstr,portstr;
int port;
GetDlgItemText(IDC_EDITPort,portstr);
portstr.TrimLeft();
portstr.TrimRight();
port=atoi(portstr);
if(port>0&&port<9999){
if(sever.Create(port)){
// cslisten.Bind(port);
sever.Listen();
sever.setp(this);
sever.Listen();
CWnd *cw=GetDlgItem(IDC_EDITPort);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_BUTTONListen);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_EDITRev);
cw->SetWindowText("\r\n正在后台等待用户连接,监听端口:"+portstr+"...");
}
else{
MessageBox("绑定监听端口失败,请确认该端口没有被其它程序占用");
sever.Close();
}
}
else{
MessageBox("端口输入有误,请重新输入");
}
}
onbutton是按下button时候调用!但是onac和oncl是做什么动作的时候调用呢!?
oncl 如果是普通成员函数 为什么没有看到在其他函数看到调用 以用word 搜过 展开
4个回答
展开全部
这段代码我看过
其实在CTcpSeverDlg.h钟有个类
csocket里面重新定义了成员函数
我觉得应该是socket侦听之后,肯定会调用socket接受数据的模块,因为socket又重新定义了
所以就会转向执行到新建的成员函数里面
这几个成员函数是没有加消息响应的
其实在CTcpSeverDlg.h钟有个类
csocket里面重新定义了成员函数
我觉得应该是socket侦听之后,肯定会调用socket接受数据的模块,因为socket又重新定义了
所以就会转向执行到新建的成员函数里面
这几个成员函数是没有加消息响应的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
onac()函数应该是在客户端要求连接的时候被调用;而oncl应该是客户端断开连接的时候被调用,至于在哪里被调用,你可以利用VC的查找功能在整个工程中查找这两个函数就会找到他们被调用的地方。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要把SetPlay()函数的类型定为BOOL才才可以.,...你那里都说了条件表达式为非法.你是设为void型了(error
C2451:
conditional
expression
of
type
'void'
is
illegal)..
C2451:
conditional
expression
of
type
'void'
is
illegal)..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询