目的是每隔4秒检测一次文件test.txt是否存在,组件中的代码如下:
在组件中添加一个Timer1和一个form1:
'in mouble
Public aFileName As String
Public Event FileFound()
Private Sub Class_Initialize()
form1.Timer1.Enabled = False
End Sub
Public Sub MonitorFile(ByVal vFileName As String)
aFileName = vFileName
form1.Timer1.Interval = 4000
form1.Timer1.Enabled = True
End Sub
'in form
Private Sub Timer1_Timer()
If Dir("e:\test.txt") <> "" Then
RaiseEvent FileFound '这里是出错的地方,代码停留在这里
End Sub 再编写一个EXE调试之:
Dim WithEvents MyCom As Class1
Private Sub Command1_Click()
Set MyCom = New Class1
MyCom.MonitorFile ("C:\test.txt")
End Sub Private Sub Form_Unload(Cancel As Integer)
Set MyCom = Nothing
End Sub Private Sub MyCom_FileFound()
MsgBox "Found:" & vFileName
End Sub 结果产生错误,提示的结果是"事件未找到"
这只是事件的一个基础问题,并没有什么难度,关键是上一节没听明白,才有此一问..
那么,我的程序错误的地方在哪里呢?请赐教
在组件中添加一个Timer1和一个form1:
'in mouble
Public aFileName As String
Public Event FileFound()
Private Sub Class_Initialize()
form1.Timer1.Enabled = False
End Sub
Public Sub MonitorFile(ByVal vFileName As String)
aFileName = vFileName
form1.Timer1.Interval = 4000
form1.Timer1.Enabled = True
End Sub
'in form
Private Sub Timer1_Timer()
If Dir("e:\test.txt") <> "" Then
RaiseEvent FileFound '这里是出错的地方,代码停留在这里
End Sub 再编写一个EXE调试之:
Dim WithEvents MyCom As Class1
Private Sub Command1_Click()
Set MyCom = New Class1
MyCom.MonitorFile ("C:\test.txt")
End Sub Private Sub Form_Unload(Cancel As Integer)
Set MyCom = Nothing
End Sub Private Sub MyCom_FileFound()
MsgBox "Found:" & vFileName
End Sub 结果产生错误,提示的结果是"事件未找到"
这只是事件的一个基础问题,并没有什么难度,关键是上一节没听明白,才有此一问..
那么,我的程序错误的地方在哪里呢?请赐教
这句话应该在类模块调用吧?在Form1调用似乎不对
http://pages.cpsc.ucalgary.ca/~saul/vb_examples/tutorial10/activex01.html
这个教程挺好的,希望有帮助
不过我也正在找控件的教程,谢谢了
---------------------------
“为什么总是有人犯这个错误?”
^_^