怎么强制关闭线程?

解决方案 »

  1.   

    可能是你的窗体还没有卸载完毕,还有窗体加载了,但是没有Show出来,好好查查代码。
      

  2.   

    最好在主窗体的 Unload 事件里加上 End 吧。Private Sub Form_Unload(Cancel As Integer)
    End
    End Sub
      

  3.   

    肯定是你在某个地方进行了循环.而且这个循环里面有语句DoEvents,你必须在该语句后面判断是否已经结束了程序。用一个变量来设置是否结束程序了。在unload事件中设置该变量为True,初始化的时候设置为False。
      

  4.   

    TO:setylai(风之勇者) 你这个方法虽然解决表面的问题(从资源管理器中除掉),但是会造成资源泄漏。
    根本的办法是看有没有没有执行完的代码(如: utiao(天下文章) 所说),或者隐藏的窗口没有卸载之类的问题,你好好查查,找到了之后问题自然会解决,根本不用END。
      

  5.   

    非常正确!在我程序中行了循环,而且循环有2个DoEvents
    代码类似:
    Do While Not EOF(SelfTransmitFileNum): DoEvents   ...
       Do While WaitForServerRecieve = True: DoEvents
       Loop
       ...
    Loopto utiao(天下文章): 我是不是
    1.在Form_Load中加:exit = false
    2.
    Do While Not EOF(SelfTransmitFileNum)
       if not exit then
    DoEvents   ...
       Do While WaitForServerRecieve = True
          DoEvents
       Loop
       ...
    Loop
      

  6.   

    2.Do While Not EOF(SelfTransmitFileNum)
       if not exit then
          DoEvents
       end if
       ...
       Do While WaitForServerRecieve = True
          if not exit then
              DoEvents
          end if
       Loop
       ...
    Loop3.Form_Unload中 exit = true?
      

  7.   

    错了,应是
    if exit then
       exit sub
    end if
      

  8.   

    还有,如果有窗口要消失,用unload form1会好些,如果是用了form1.hide则其实没有关闭的
      

  9.   


    Private Sub Form_Unload(Cancel As Integer)
        Dim frm As Form
        For Each frm In Forms
            Set frm = Nothing
        Next
    End Sub