当前位置:编程学习 > C#/ASP.NET >>

帮看一下代码,调试的没问题,编译却提示错误。

Dim ClientNum As Integer

Private Sub Command1_Click()
Dim i As Integer
    
    For i = 1 To ClientNum
        If Not WSK_Server(i) Is Nothing Then
            DoEvents
            WSK_Server(i).SendData "服务器:" & Text1.Text
        End If
    Next
End Sub

Private Sub Form_Load()
    WSK_Server(0).LocalPort = 1001
    '程序启动时侦听
    WSK_Server(0).Listen
End Sub

Private Sub WSK_Server_Close(Index As Integer)
    Set WSK_Server(Index) = Nothing
End Sub

Private Sub WSK_Server_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    ClientNum = ClientNum + 1
    Load WSK_Server(ClientNum)  '载入一个新的socket控件
    
    WSK_Server(ClientNum).Accept requestID  '接受客户端的请求
    
    WSK_Server(ClientNum).SendData "欢迎光临!!"
            
End Sub

Private Sub WSK_Server_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim myData As String

    WSK_Server(Index).GetData myData
    Text2.Text = Text2.Text + myData + vbCrLf
    
End Sub

Private Sub WSK_Server_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    WSK_Server(Index).Close
    Set WSK_Server(Index) = Nothing
End Sub


编译时提示属性无效。。。。。。。这是个接授客户端连接的服务器程序,主要是客户端连接时动态添加wskserver(winsock控件),,动态删除 --------------------编程问答-------------------- 呵呵不懂
 go --------------------编程问答-------------------- Dim ClientNum As Integer 赋值了吗?

 For i = 1 To ClientNum 好像是这的问题,ClientNum没有赋值,所以循环出错。
--------------------编程问答-------------------- 这是什么 啊。? --------------------编程问答-------------------- 错误提示位置在哪里? --------------------编程问答-------------------- 纯VB6的代码,问题出在 Set WSK_Server(Index) = Nothing 这句话了。
出现在两个地方,一个是
Private Sub WSK_Server_Close(Index As Integer) 
    Set WSK_Server(Index) = Nothing 
End Sub 
一个是
Private Sub WSK_Server_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) 
    WSK_Server(Index).Close 
    Set WSK_Server(Index) = Nothing 
End Sub 
如果你不想再使用WSK_Server(Index)这个控件了,那么不要用set WSK_Server(Index)=nothing
请使用 unload(WSK_Server(Index)),控件是不能被SET nothing的。只能卸载掉。
--------------------编程问答-------------------- 第二个红色的位置标错地方了。下面那句。 --------------------编程问答-------------------- VB6中的格式是 Unload WSK_Server(Index) 没有括号。 --------------------编程问答-------------------- 第一个错误的地方用WSK_Server(Index).Close 替换 Set WSK_Server(Index) = Nothing 
第二个错误的地方去掉 Set WSK_Server(Index) = Nothing 
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,