易截截图软件、单文件、免安装、纯绿色、仅160KB

VB winsock 动态加载和卸载问题

Option Explicit
Private MaxIndex As Integer

Private Sub Form_Load()
MaxIndex = 0
Winsock(0).Listen
End Sub

Private Sub Winsock_Close(Index As Integer)
Winsock(Index).Close
Unload Winsock(Index)
End Sub

Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
    MaxIndex = MaxIndex + 1
    Load Winsock(MaxIndex)
    Winsock(MaxIndex).Accept requestID
End If
End Sub

Private Sub Winsock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim strMsg As String
Winsock(Index).GetData strMsg
MsgBox Index & MaxIndex
End Sub


这段代码能动态加载winsock控件,为什么不能动态卸载啊
msgbox 的值永远是+1的,高手帮忙改下啊

当加载的winsock close的时候就卸载这个加载的winsock

WinSock 控件发生 Close 事件后,属性 State = sckClosed
以后侦听到新的连接请求后可以重用该控件,也可以开一个定时器定期卸载状态为关闭的控件。
MaxIndex 毫无意义,直接用 Winsock.UBound 就能取得。

看来楼主是犯了这样一个典型的错误:
试图在类实例的事件中释放这个类实例本身.
我的意思是,恐怕没有一种语言在开发时,允许做这种事吧.


引用
并非在Winsock_Close事件中不能卸载它自己.

以前记得是遇到过这问题的,不过没有细究是哪里的具体问题,就用定时


相关问答:

为什么用VB改变不了工具栏按扭的宽度 - VB / 控件

为什么工具栏按扭的宽度改变不了,在属性里改了又变成原来的数值了

大胡子真厉害,回答基本都是爆料级的
大胡子升级真快啊,这才几天就5条短裤外加月排名第一了
想想我这5个短裤混了差不多8年才得到的。

回复 ......

vb - VB / 基础类

在vb中如何读取Word内容(包含表格,图片,等)
竟然不是zero。

不知道怎么实现的不要说话

这个只能读文本,
VB code:
Private Sub Command1_Click()
Dim WordApp As Object
Set WordApp = CreateObject(& ......

vb crystalreport - .NET技术 / VB.NET

Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click
  MouseWait()
  Dim ClearTempTabelSQL As String
  'If Not ......

vb - VB / 基础类

我想把word另存为xml之后,用vb读取这个xml的内容,请问如何实现?
dim f as integer
dim b() as byte
dim s as string
dim L as long
f=freefile()
open "abc.xml" for binary access read as #f
......

VB怎么制作进度条? - VB / 控件

点击按钮后弹出进度条窗口,要在30%的时候停顿1秒 40%停顿2秒,然后走完进度条后提示保存成功!
请问如何写?
进度条用那个VB6自带的progressbar控件,定时用timer
我在本站找了这几个帖,估计够你用
http://topic ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号