程序中使用了如下的Sleep方法
    Dim lIndex As Long
    For lIndex = 100 To lSleepTime Step 100
        DoEvents
        Sleep (100)
    Next如果在程序Sleep时关闭窗体,窗体可被正常关闭,
但是进程仍旧在任务管理器中运行,没有被Kill。这是为什么?

解决方案 »

  1.   

    不一定是Sleep的问题,一般是程序中的对象被其它程序使用
      

  2.   

    应该不会吧,虽然程序中有Winsock控件和timer控件,
    但是Winsock控件被Close掉了,Timer也不在运行啊。
      

  3.   

    我们在程序中经常使用Sleep ,也少见程序在程序关闭后在运行,按说,窗体Unload了,一切对象都销毁了,总不会还有进程在后台运行?反正没有任何对象程序是不可能还运行.
      

  4.   

    不知你经历过这样的事没有,自己做的程序,你运行几次,然后删除,但马上删除,删除不掉,反正我遇到好多次,和你的情况应该是一样的,不论有无Sleep
      

  5.   

        For lIndex = 100 To lSleepTime Step 100
            DoEvents
            If m_bExit Then
                Exit For
            End If
            Sleep (100)
        NextPrivate Sub Form_Unload(Cancel As Integer)
        m_bExit = True
    End Sub改成上面这样,还是不行。是否和Winxp系统有关系?
      

  6.   

    Private Sub Form_Unload(Cancel As Integer) 
        m_bExit = True 
        end '加上这句看看
    End Sub 
      

  7.   

    感谢fvflove,问题解决。
    End强行终止程序。