不能退出VisualFoxPro.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不能退出VisualFoxPro

不能退出 Visual FoxPro信息 是否曾不断的试着关闭你的应用程序, 而得到的回答是不能退出? 在这里成为故事. 你开发了一个应用程序并将它交会给你的用户. 一切正常. 但是突然你接到一个电话. 用户试着关闭应用程序, 但所得到的信息是: 不能退出Visual FoxPro 参见图 1 . 为什么? 因为应用程序仍然在事件循环中. 图 1: 恐怖的不能退出信息 在应用程序某一地方, 你可能有类似下面的代码: DO MainMenu.MPR READ EVENTS 一但在程序中发布了事件循环 READ EVENTS 命令 , 在退出事件循环前,你就不能退出 VFP. 要清除事件循环,发布一条 CLEAR EVENTS 命令. 只要用户想关闭应用程序时 如,从系统菜单中选择了关闭或退出: ,你可以正常的执行一条 CLEAR EVENTS. 但是如果用户试着单击窗口标题栏中的关闭按钮时,会发生什么情况呢? 或者用户在应用程序仍然运行着的时候关闭 Windows 又会怎样? 在这些情况下, 应用程序没有机会执行 CLEAR EVENT. 事件循环仍然是活动的, 因此出现了不能退出 VFP 的信息. 要避免这一点, 可使用 ON SHUTDOWN 命令. 该命令的运行方式与 VFP 的其它 On 命令 如 ON ERROR 一样, 它指定一个当确定的事件发生时要执行的行动. 在这种情况下, 事件是以任何方式试图关闭应用程序. 因此你所要做的只是执行 ON SHUTDOWN CLEAR EVENTS. 应该在应用程序开始时 - 发布 READ EVENTS 之前. 一但你这样做了, 用户决不会再次见到不能退出信息. 当用户单击窗口标题样中的关闭按钮时, 程序将执行 ON SHUTDOWN 代码, 这将会退出事件循环并将控制返回 READ EVENTS 后面的代码. 什么也没有发生 好了, 还不完全. 现在试着在 VFP 开发环境中运行一个 .APP. 关闭该 .APP. 然后试着退出 Visual FoxPro. 当你用文件菜单中的退出时,没有什么问题, 但在命令窗口打入 QUIT 或单击窗口标题栏的关闭按钮时. 结果是相同的: 什么也没有发生,没有退出 VFP ,没有错误提示. 为什么? 因为 ON SHUTDOWN 命令任然在起作用,因此在关闭 VFP 时,VFP 只是简单地执行一条 CLEAR EVENTS, 这对开发环境没有作用并且也没有程序在运行. 要避免这一点, 返回到应用程序中, 并添加另一个 ON SHUTDOWN 命令. 这一次, 仅仅是不带任何子句的 ON SHUTDOWN. 将它放入清理代码中, 就是说, 在 READ EVENTS 后面的某处. 它的作用是取消原来的 ON SHUTDOWN. 这一对命令 - ON SHUTDOWN CLEAR EVENTS 和 ON SHUTDOWN - 是想雅致地关闭应用程序的最小要求. 但是, 根据应用程序的结构,你可能需要做更多的事. 清理 在我们自己的应用程序中, 文件菜单中的退出菜单项,在发布 CLEAR EVENTS命令前执行某些特定的清除代码. 特别地, 遍历所有已打开表单 通过 _SCREEN 的 Forms 集合 , 关闭各个表单. 在这样做的同时, 提示用户处理未保存的修改. 在样做可以让用户决定是否取消关闭应用程序, 以避免因清除事件循环而仍在屏幕上留下一些打开的表单. 无论用户是采用何种方法关闭应用程序,程序需要经过相同的处理过程. 要达到这一点, 我们放入以上处理到一个我们叫做 FileExit 的过程中. 文件菜单的的退出菜单项简单地用 DO FileExit 调用该过程. 在 ON SHUTDOWN 命令中也一样. 换句话说,现在不是 ON SHUTDOWN CLEAR EVENTS, 而是 ON SHUTDOWN DO FileExit. 采用这种方法, 无论用户采用什么方法关闭程序,关闭处理总是相同的. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 不能退出 VFP 和错误处理 如果你想跳过历史和推理, 直接看本文的最后一节. 在我的一般错误处理例程中, 我允许用户 忽略 - 并继续 或退出程序. 这些按钮出现在一个使用一个自由表 errors.dbf 来显示并记录错误的表单上. 在此我主要论述我的 退出程序 按钮, 因为它是最令我头痛的事之一. 使用 退出 按钮的理由可能是显而易见的, 那就是允许用户退出应用程序现时不至于因 忽略 而引发因第一个错误而产生的连锁错误. 例如, 因为一个错误的变量定义值而产生的错误, 显示了错误提示表单, 而且用户 忽略 错误. 而接着的代码在一

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档