窗体中定义了public例程,Public Sub MonitorWrite(ByVal text As String)RichTxt.text = RichTxt.text & CStr(Now()) & ":" & text & vbCrLf
End Sub
想在模块中调用。 可是报错,且调试后发现定义的monitor = nothingOption ExplicitPrivate monitor As formmainPublic Sub UpdateMon(ByVal text As String)monitor.MonitorWrite textEnd Sub

解决方案 »

  1.   

    Public Sub UpdateMon(ByVal text As String)
        窗体名.monitor.MonitorWrite text
    End Sub
      

  2.   

    set monitor = new formmain
      

  3.   


    你说的可行,但是 “Private monitor As formmain”不就是代表了“窗体名”了吗?
    WHY?
      

  4.   

    Sorry模块部分如下,程序不报错,但是richtextbox没更新Option ExplicitPrivate monitor As formmain
    Public Sub UpdateMon(ByVal text As String)Set monitor = New formmain
    monitor.MonitorWrite text
    End Sub
    模块部分如下,richtextbox就可以更新Option ExplicitPrivate monitor As formmain
    Public Sub UpdateMon(ByVal text As String)'Set monitor = New formmain
    formmain.MonitorWrite text
    End Sub帮忙解答,谢啦
      

  5.   

    还是别学VB了吧,年轻的话就啃C++或者ORACLE