5.如何处理“不能退出FoxPro”的情况

时间:2022-02-28 19:31:30

5

如何处理“不能退出FoxPro”的情况

难度系数 êêê

人气指数 90%

问题详述

为什么在程序连编后,单击Visual FoxPro的主窗口关闭按钮,提示“不能退出FoxPro”呢?

专家解答

由于在Visual FoxPro中要开始事务处理需要加入一个READ EVENTS语句,在想退出Visual FoxPro前,必须首先使用CLEAR EVENTS来结束事务处理,否则将提示“不能退出FoxPro”。我们知道,在普通表单中,CLEAR EVENTS可以放在表单的Unload事件中执行,但是对于Visual FoxPro主窗口(_Screen),系统一般是不允许你修改其事件过程的,对此,Visual FoxPro提供了一个ON SHUTDOWN命令,该命令用于指定当试图退出 Visual FoxPro时所要执行的命令。

首先来编写一个QuitAll.prg文件,代码如下:

IF MESSAGEBOX("确实要退出FoxPro吗?",4+32,"提示")=6

    CLEAR EVENTS   &&结束事务处理

    QUIT           &&关闭Visual FoxPro

ENDIF    

Visual FoxPro的命令窗口中输入:ON SHUTDOWN DO QuitAll.prg

单击主窗口的关闭按钮,这时将出现如图1-6所示的提示窗口,询问是否退出Visual FoxPro

1-6  关闭Visual FoxPro时的提示画面

可以将ON SHUTDOWN命令加入到主程序中,请参考问题2的主程序介绍。

专家点评

通过为Visual FoxPro主窗口表单(_Screen)指定事件过程,如在Unload中加入CLEAR EVENTSQUIT语句,也可以实现ON SHUTDOWN的功能,但是,为主窗口指定事件非常的烦琐,详细方法请参考问题16的介绍。