下面是Beyond Q 聊天室(服务器)VB代码,我新建工程,完全复制,运行却在句柄Private Sub tcpServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)出错(过程声明与同名事件或过程的描述不匹配),为什么?
Dim Num As Integer
Dim flag As Boolean
Dim NumOnline As Integer
Dim clientName(1 To 5) Private Sub Command1_Click()
For i = 1 To Num
tcpServer(i).Close
Next i
End Sub Private Sub Command2_Click()
End
End Sub Private Sub Form_Load()
Num = 0
NumOnline = 0
tcpServer(0).LocalPort = 8080
tcpServer(0).Listen
Label1.Caption = Label1.Caption + CStr(tcpServer(0).LocalIP)
Label3.Caption = Label3.Caption + CStr(tcpServer(0).LocalPort)
End Sub
Private Sub tcpServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
Num = Num + 1
NumOnline = NumOnline + 1
Load tcpServer(Num)
tcpServer(Num).LocalPort = 0
tcpServer(Num).Accept requestID
End If
End Sub Private Sub tcpServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim sData As String
Dim sName As String
tcpServer(Index).GetData sData
rtbSave.SelStart = Len(rtbSave.Text)
sName = Left(sData, 1)
If sName = "C" Then
lstClient.AddItem CStr(Now()) + Chr(10) + sData
tcpServer(Index).SendData "C_OK"
ElseIf sName = "Q" Then
tcpServer(Index).SendData "Q_OK."
lstClient.AddItem CStr(Now()) + Chr(10) + sData
tcpServer(Index).Close
NumOnline = NumOnline - 1
rtbSave.SelStart = Len(rtbSave.Text)
rtbSave.Text = rtbSave.Text + sData
End If
rtbSave.SelStart = Len(rtbSave.Text)
rtbSave.Text = rtbSave.Text + Chr(10) + CStr(Now()) + Chr(10) + sData
rtbSave.SelStart = Len(rtbSave.Text)
End Sub
Private Sub TxtSend_KeyUp(KeyCode As Integer, Shift As Integer) '发送信息
If KeyCode = 13 Then
For i = 1 To Num
If tcpServer(i).State = sckClosed Then
Exit For
Else
tcpServer(i).SendData "服务器:" & TxtSend.Text
End If
Next i
rtbSave.SelStart = Len(rtbSave.Text)
rtbSave.Text = rtbSave.Text + Chr(10) & CStr(Now()) + Chr(10) + "服务器:" & TxtSend.Text
TxtSend.Text = ""
End If
End Sub
Dim Num As Integer
Dim flag As Boolean
Dim NumOnline As Integer
Dim clientName(1 To 5) Private Sub Command1_Click()
For i = 1 To Num
tcpServer(i).Close
Next i
End Sub Private Sub Command2_Click()
End
End Sub Private Sub Form_Load()
Num = 0
NumOnline = 0
tcpServer(0).LocalPort = 8080
tcpServer(0).Listen
Label1.Caption = Label1.Caption + CStr(tcpServer(0).LocalIP)
Label3.Caption = Label3.Caption + CStr(tcpServer(0).LocalPort)
End Sub
Private Sub tcpServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
Num = Num + 1
NumOnline = NumOnline + 1
Load tcpServer(Num)
tcpServer(Num).LocalPort = 0
tcpServer(Num).Accept requestID
End If
End Sub Private Sub tcpServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim sData As String
Dim sName As String
tcpServer(Index).GetData sData
rtbSave.SelStart = Len(rtbSave.Text)
sName = Left(sData, 1)
If sName = "C" Then
lstClient.AddItem CStr(Now()) + Chr(10) + sData
tcpServer(Index).SendData "C_OK"
ElseIf sName = "Q" Then
tcpServer(Index).SendData "Q_OK."
lstClient.AddItem CStr(Now()) + Chr(10) + sData
tcpServer(Index).Close
NumOnline = NumOnline - 1
rtbSave.SelStart = Len(rtbSave.Text)
rtbSave.Text = rtbSave.Text + sData
End If
rtbSave.SelStart = Len(rtbSave.Text)
rtbSave.Text = rtbSave.Text + Chr(10) + CStr(Now()) + Chr(10) + sData
rtbSave.SelStart = Len(rtbSave.Text)
End Sub
Private Sub TxtSend_KeyUp(KeyCode As Integer, Shift As Integer) '发送信息
If KeyCode = 13 Then
For i = 1 To Num
If tcpServer(i).State = sckClosed Then
Exit For
Else
tcpServer(i).SendData "服务器:" & TxtSend.Text
End If
Next i
rtbSave.SelStart = Len(rtbSave.Text)
rtbSave.Text = rtbSave.Text + Chr(10) & CStr(Now()) + Chr(10) + "服务器:" & TxtSend.Text
TxtSend.Text = ""
End If
End Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货