欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    不能退出 Visual FoxPro.docx

    • 资源ID:3207664       资源大小:38.63KB        全文页数:4页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    不能退出 Visual FoxPro.docx

    不能退出 Visual FoxPro"不能退出 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" 来显示并记录错误的表单上. 在此我主要论述我的 "退出程序" 按钮, 因为它是最令我头痛的事之一. 使用 "退出" 按钮的理由可能是显而易见的, 那就是允许用户退出应用程序现时不至于因 "忽略" 而引发因第一个错误而产生的连锁错误. 例如, 因为一个错误的变量定义值而产生的错误, 显示了错误提示表单, 而且用户 "忽略" 错误. 而接着的代码在一个 SQL 查询中使用该未定义的变量, 这样将再次显示错误提示表单, 接着是使用先前的 SQL 创建的游标而造成的错误 (该游标并不存在) .等等. 因此显然需要一个 "退出程序" 按钮. 在退出按钮的 click 事件中, 我通常只是这样做: CLEAR ALL QUIT 但是因多种原因这不能很好的工作. 最常见的是显示 "不能退出 Visual FoxPro". 因此我在 KB 中查找是否有什么处理方法, 并找到: Q172455 - ExitFox.exe 克服 "不能退出 Visual FoxPro" 错误 这个 MS 中的某人写的小程序很好地说明和处理了该问题, 但是它依赖于满足特定的条件. 我想要每次都能无条件退出程序. 因此我用 WinAPI 来找出一个实用的方案. 我的新的 cmdExitEXE.Click 事件: * cmdExitEXE.Click * * 概述: 直接干掉/退出 EXE, 不管环境情况 * Close Data Clear DLLs Declare ExitThread in Win32API ExitThread 这样它看起来每一次都能正确地工作, 几乎没有讨厌的付作用. 编码! Jim Hapenney

    注意事项

    本文(不能退出 Visual FoxPro.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开