事件激活问题,这东西变态了,帮忙啊~~~~~:(((((((((((((((((((((
晒屁屁 2004-02-02 09:43:31 我用以下方法去激活一个事件(Selected)可都不行,
只能在控件源码调度模式下通过,不能将控件编译完成再激活,为什么会这样,谢谢
并且将整个程序编译好后在smartcheck中调试时也可以激活事件,
我将这个控件及调用程序都编译成p-code还是不行,
但所有方法中的MSGBOX还是可以执行的,也就是说他跳过了一个RaiseEvent
并在单独激活事件时(用一个COMMANDBUTTON进行RaiseEvent)可以用
--------------------------------------------------------------------------------
这个事件调用过程:
1。由一个对象先激活一个NewSelected事件(对象mSSelect)
2。由此控件在事件处理过程中再激活Selected事件,
3。在调用控件的程序中处理事件。
我已经将所有涉及此调用过程的错误处理全部取消还是没用,
--------------------------------------------------------------------------------
事件声明方法:
Public Event Selected(SelectID As String, SelectName As String, SelectItems As Object)
Event Selected(SelectID As String, SelectName As String, SelectItems As Object)
以上两个都试过
--------------------------------------------------------------------------------
方法一:直接激发
Private Sub mSSelect_NewSelected(SelectID As String, SelectName As String, SelectItems As Collection)
On Error Resume Next
'......code....
RaiseEvent Selected(SelectID, SelectName, SelectItems)
'.....code.....
End Sub
--------------------------------------------------------------------------------
方法二:通过一个过程来激发,并在激发后进行提示
Private Sub NewSelectedEvent(SelectID As String, SelectName As String, Optional SelectItems As Collection)
RaiseEvent Selected(SelectID, SelectName, SelectItems)
End Sub
Private Sub mSSelect_NewSelected(SelectID As String, SelectName As String, SelectItems As Collection)
On Error Resume Next
'.....code.....
NewSelectedEvent SelectID, SelectName, SelectItems
MsgBox "RaiseEvent Selected_new"
'.....code.....
End Sub
--------------------------------------------------------------------------------
方法三:直接激发,并在激发后进行提示
Private Sub mSSelect_NewSelected(SelectID As String, SelectName As String, SelectItems As Collection)
On Error Resume Next
'.....code.....
DoEvents
MsgBox "RaiseEvent Selected_new"
NewSelectedEvent SelectID, SelectName, SelectItems
DoEvents
'.....code.....
End Sub