在类模块或者窗体内声明:private withevents m_objThis as your_type ' 要使用的类型public sub Test() set m_objThis = CreateObject(progId) end subprivate sub m_objThis_xxx() ... end sub
下面是代码,对象的方法和属性可以正常使用,但无法响应事件Dim mySock As ObjectPrivate Sub Form_Load() Set mySock = CreateObject("MSWinsock.Winsock") 'Microsoft WinSock Control, version 6.0 mySock.Protocol = 0 'Tcp协议 End Sub'下面的事件无法响应,定义没有问题 Private Sub mySock_Close() Print "服务器已经关闭" End Sub
如果只是为了使用 Winsock ,大可不必这么做。能引用为何不直接引用?
一是为了在ASP中使用Winsock ,二是为了看是否有可行的办法好以后可以用在别处
ASP中能不能处理就不知道了。
这是刚搜到的一段VBS代码,可行,但不知怎样在vb中使用Set objie=WScript.CreateObject("InternetExplorer.Application","event_") objie.Visible=True MsgBox "请关闭浏览器窗口看看效果!",vbSystemModal Wscript.sleep 6000 MsgBox "现在已经正常关闭了" Sub event_onquit() MsgBox "您确定要关闭浏览器吗?",vbSystemModal End Sub 这段脚本打开了一个IE窗口,然后要求你关闭IE窗口,当你关闭窗口的时候,自动调用事件响应程序。
set m_objThis = CreateObject(progId)
end subprivate sub m_objThis_xxx()
...
end sub
Set mySock = CreateObject("MSWinsock.Winsock") 'Microsoft WinSock Control, version 6.0
mySock.Protocol = 0 'Tcp协议
End Sub'下面的事件无法响应,定义没有问题
Private Sub mySock_Close()
Print "服务器已经关闭"
End Sub
Public objDll As ObjectPrivate Sub Form_Load()
Set objDll = CreateObject("DuiXiang.JieKou")End Sub在ASP中使用可以嵌入vb代码:
<%
dim objDll
set objDll=Server.CreateObject("DuiXiang.JieKou")
%>
难道你在接口库中就不需要引用 Winsock 吗?
难道你在TLB中就不需要知道Winsock中的接口?