类代码
Option Explicit
Dim WithEvents objFrm As Form1
Public Event FileFount(ByVal FileName As String)
Public Event FileNotFount(ByVal N As Long)
Private Sub Class_Initialize()
'//组建初始化
Set objFrm = Form1
End Sub
Public Sub SetFile(ByVal strFile)
'//设置要临视的文件
objFrm.strFileName = strFile
objFrm.Timer1.Interval = 20
End Sub
Private Sub Class_Terminate()
End
End Sub
Private Sub objFrm_FileFound()
RaiseEvent FileFount(objFrm.strFileName)
End Sub
Private Sub objFrm_FileNotFound()
RaiseEvent FileNotFount(objFrm.Falgs)
End Sub
窗体代码
Option Explicit
Public strFileName As String '//要监视的文件
Public Event FileFound() '//找到
Public Event FileNotFound() '//没有找到
Public Falgs As Integer
Private Sub Timer1_Timer()
If strFileName = "" Then Exit Sub
If Dir$(strFileName) <> "" Then
RaiseEvent FileFound '//找到
Falgs = 0
Else
RaiseEvent FileNotFound '//没有找到
Falgs = Falgs + 1
End If
End Sub
解说:
在窗体中定义两个事件
当窗体中定义的事件触发时。随之触发类中的事件
这样就在用户端响了这个事件
Activex Exe 和Acitvex Dll的区别
Activex exe 在进程内 这个不影响主程序
Activex DLL 在进程个 这个影响
总的来讲Activex Exe 时。可以同时进行。多线程
Activex Dll 则不是。要等Dll执行完毕后才执行。主程序
“ActiveX DLLs是在进程内运行,而ActiveX EXEs是在进程外运行"。