在WINDOWS2000下写的VB6程序编译后运行,退出,后再运行一次,提示有程序未退出,任务管理器看,果然在。运行几次存在几个。
如何使它彻底退出啊。
谢谢。

解决方案 »

  1.   

    在每个窗体的unload事件中写上:set 窗体名=nothing
      

  2.   

    如果你用end的話你是一定可以退出的﹐但是如果牽涉到某些主要指外部控件的時候﹐就會出現VB非法操作的問題﹐那么你會把整個程序都關掉。具體﹕1﹐如果是多窗體﹐請檢查是否每一個都已經unload掉﹐你可以寫個循環讓每個窗體都unload.
          2﹐如果用到數據庫連接﹐請關閉的時候用set conn=nothing進行完全關閉。
          3﹐用到某控件﹐特別是外部控件﹐要看到底是怎么關。如果是于硬件連接的部分﹐沒有關的話﹐會沖突很麻煩。
     其實必須要明白﹐窗體關閉的時候一定會經過unload,最后經過Terminate事件。如果你把unload的Cancel設置false﹐請一定在關閉的時候設置回true。否則它永遠都沒有關閉。
      最后是個人遇見的一次﹐因為習慣在unload下全部關閉﹐用end﹐但是事實會出現非法操作﹐所有真正end掉程序應該寫在Terminate事件中。
      

  3.   

    是有的窗口没有关闭
    主窗口form_UNLOAD的时候加入以下代码
    for each frm in forms
       unload frm
    next frm
      

  4.   

    同意楼上,在unload事件中查找所有资源并set nothing
      

  5.   

    检查是否datareport的窗体是否没有被释放.
    datareport的窗体在没有正常显示和打印的时候,需要手工用unload语句卸载.
    即使用END也没办法退出.
      

  6.   

      在每一个Form的Unload事件里加上end
      

  7.   

    我也碰过一模一样的问题,是使用关闭菜单可以正常关闭
    但是用窗体右上角的打叉按钮关的话,内存还存在程序
    后来,我发现主要是在主窗体的unload里,不能有end,要把end放在 sub main()里头
      

  8.   

    偶一直是用set frm = nothing