Trending News
VB 設定物件陣列
小弟想把Winsock設定成陣列
請問該如何做呢?
不是新增在表單上的那種而是能動態的陣列
例如 我要連上某個IP 分別開10個PORT
並且設定 Winsock_DataArrival 之類的控制
不好意思...
我是說如何不用 將 Winsock 拉至表單上 然候複製成為陣列的這種方式
而是在程式內控制 新增一個 或是關閉
就是..該如何 New 一個 Winsock
用你的方法嚐試了一下
1.建立一個 Winsock
2.將Winsock屬性設定為0
可是 這時候可以使用的也只有Winsock(0)這個阿...
還是說我忽略了什麼步驟嗎?
嗯嗯 原來重點是 Load 這個
對了 可以問一個題外話嗎..
就是像 陣列 可以使用 UBound知道最大值
那物件陣列呢?
毆歐@@ 發現方法了..變成
tcpServer.UBound
UBound(tcpServer)不行 還真怪
謝謝你嚕
1 Answer
- 陳玄Lv 51 decade agoFavorite Answer
Winsock屬性的index設為0
要用時
Private Sub tcpServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
If tcpserver(i).State = sckClosed Then 'i就自己定了
Unload tcpserver(i) '先Unload才能load Winsock
Load tcpserver(i)
tcpserver(i).LocalPort = 9999
tcpserver(i).Accept requestID
.....
2008-01-02 03:25:27 補充:
tcpServer為Winsoc物件,tcpServer屬性的index設為0
2008-01-03 07:32:59 補充:
記得千萬不要複制物件,只要建立一個Winsoc物件,再將index設成0就可以了,不然複制得再多,也不夠用。。
2008-01-03 21:37:03 補充:
Private Sub Command1_Click()
Load tcpserver(1)
tcpserver(1).RemoteHost = "127.0.0.1" ' SERVER 的 IP
tcpserver(1).RemotePort = 2234 ' SERVER 所 Bind 的 Port
End Sub
'第一次Load tcpserver(1);不用時記得Unload tcpserver(1);桌面上只能有tcpserver(0);不要有tcpserver(1)等等的。
'
2008-01-03 21:46:56 補充:
之前寫錯了,請將
Private Sub tcpServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
改成
Private Sub tcpserver_ConnectionRequest(Index As Integer, ByVal requestID As Long)