解决方案如下: 1.在Dll工程的Component中添加Microsoft internet Transfer Control6.0(sp4)控件。 2.在类模块中如下申明变量 dim WithEvents XInet as Inet 3.在General下拉框中选择XInet。 现在你可以看到 Private Sub XInet_StateChanged(ByVal State As Integer) End Sub 这就是你处理该事件的地方。 谢谢。
如楼上所说,使用带withEvents的DIM,有时定义些东东会有些很好玩 的东东发现的/:D
谢谢hiker_lx() 但我照你的做,但还是不行,我把代码贴出来吧Dim inetObj As New Inet Private myState As VariantDim WithEvents XInet As Inet Public Event onStateChanged() Public Sub uploadFile(dataStr As Variant) inetObj.URL = "http://10.17.45.148:8080/acxml.jsp?guid=123456" inetObj.Execute , , dataStrEnd Sub Public Property Get State() As Variant State = myState End Property Private Sub XInet_StateChanged(ByVal State As Integer) myState = State Debug.Print State End Sub
谢谢hiker_lx() 我终于解决了 下面我把代码贴出来Private myState As Variant Dim WithEvents XInet As InetPublic Sub uploadFile(dataStr As Variant) Set XInet = New Inet XInet.URL = "http://10.17.45.148:8080/acxml.jsp?guid=123456" XInet.Execute , , dataStr
End SubPublic Property Get State() As Variant State = myState End Property Private Sub XInet_StateChanged(ByVal State As Integer) myState = State Debug.Print State End Sub
你申明了两个XInet,InetObj,其中只有一个XInet可以处理事件。从你的程序看,你好象不需要InetObj。原则是:申明处理事件的那个实例,才能处理事件。为了简单做法: 1.dim WithEvents InetObj as Inet(不使用New操作符) 2.在程序开始的地方 Set InetObj=new Inet 3.象处理XInet_StateChanged一样处理InetObj_StateChanged。 3.删除所有XInet。
1.在Dll工程的Component中添加Microsoft internet Transfer Control6.0(sp4)控件。
2.在类模块中如下申明变量
dim WithEvents XInet as Inet
3.在General下拉框中选择XInet。
现在你可以看到
Private Sub XInet_StateChanged(ByVal State As Integer) End Sub
这就是你处理该事件的地方。
谢谢。
Private myState As VariantDim WithEvents XInet As Inet
Public Event onStateChanged()
Public Sub uploadFile(dataStr As Variant)
inetObj.URL = "http://10.17.45.148:8080/acxml.jsp?guid=123456"
inetObj.Execute , , dataStrEnd Sub
Public Property Get State() As Variant
State = myState
End Property
Private Sub XInet_StateChanged(ByVal State As Integer)
myState = State
Debug.Print State
End Sub
我终于解决了
下面我把代码贴出来Private myState As Variant
Dim WithEvents XInet As InetPublic Sub uploadFile(dataStr As Variant)
Set XInet = New Inet
XInet.URL = "http://10.17.45.148:8080/acxml.jsp?guid=123456"
XInet.Execute , , dataStr
End SubPublic Property Get State() As Variant
State = myState
End Property
Private Sub XInet_StateChanged(ByVal State As Integer)
myState = State
Debug.Print State
End Sub
1.dim WithEvents InetObj as Inet(不使用New操作符)
2.在程序开始的地方 Set InetObj=new Inet
3.象处理XInet_StateChanged一样处理InetObj_StateChanged。
3.删除所有XInet。