本文主要是介绍避免VFP中出现“Cannot Quit Visual FoxPro”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、出现“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正常退出。
这篇关于避免VFP中出现“Cannot Quit Visual FoxPro”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!