如何避免VFP中出现CannotQuitVisualFoxPro
来源:优易学  2011-2-27 9:26:44   【优易学:中国教育考试门户网】   资料下载   IT书店
 一、出现“Cannot Quit Visual FoxPro”的原因
  第一种原因是:在执行了read event后,read event事件处于活动状态,此时,试图使用系统窗口的关闭按钮退出Visual FoxPro(或Visual FoxPro编写的应用,以下同),则会出现“Cannot Quit Visual FoxPro”。
  在Visual FoxPro3.0中,即使read event事件处于活动状态时,也可以调用Quit直接退出。但是,在Visual FoxPro5.0中,当read event事件处于活动状态时调用Quit则不行,就会出现“Cannot Quit Visual FoxPro”。应先执行clear event关闭read event事件,然后才能正常退出。
  另一种原因是:在Visual FoxPro5.0中,如果在还有活动表单的情况下,无论使用系统窗口的关闭按钮,还是调用Quit,都会出现“Cannot Quit Visual FoxPro”。这时,要正常退出,必须先关闭活动的表单。
  二、避免出现“Cannot Quit Visual FoxPro”的方法
  要避免出现“Cannot Quit Visual FoxPro”,在欲退出之前,要先执行clear event。在Visual FoxPro5.0中还要先关闭活动的表单。
  在Visual FoxPro3.0中,在程序的开头可以加上
  ON SHUTDOWN QUIT
  这样,在欲退出Visual FoxPro时,程序自动直接调用Quit退出,避免出现“Cannot Quit Visual FoxPro”。
  在Visual FoxPro5.0中,程序的开头可以加上类似以下的程序
  ON SHUTDOWN DO MyQuit
  PROC MyQuit
  CLEAR Event
  IF—SCREEN.cFormCount>0
  DIME TmpForm[—SCREEN.FormCount]
  FOR i=1 TO —SCREEN.FormCount
  TmpForm[i]=—SCREEN.Forms(i)
  ENDFOR
  FOR i=1 TO —SCREEN.FormCount
  TmpForm[i].Release
  ENDFOR
  ENDIF
  QUIT
  这样,在欲退出Visual FoxPro时,程序先自动清除read event事件,关闭所有的表单,然后调用Quit正常退出。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训