前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VFP调用模式表单并接收返回值的方法与原则

VFP调用模式表单并接收返回值的方法与原则

作者头像
加菲猫的VFP
发布2023-01-03 16:51:28
1K0
发布2023-01-03 16:51:28
举报
文章被收录于专栏:加菲猫的VFP

虽然猫猫在文章中反复强调要做错误处理,很多人就是不听,还习惯性到处COPY代码,代码还不消化,到处乱用。

这样的程序表面上都正常,系统一大,肯定要完蛋的。

表单异常错误处理

在猫框的开发范式中,第一原则要求的是错误处理,这里的错误是包含了(错误、异常)两种情况。也就是你的程序都要去考虑两条线,一条是正常执行,一条是发生了错误怎么办?见太多人的程序了,错误压根不处理。

表单LOAD和INIT事件中错误处理

我们一般在LOAD和INIT事件就要把要处理的数据都准备好,如果此时发生错误,比如网络中断,程序不应该继续往下执行了,就算表单完全打开了,也没有任何意义。

所以代码如下,在这里返回了一个.F.假,这样VFP的表单就不会再显示了。模式和非模式表单都可以这样写。

LOAD 事件 init 事件(非猫框)

代码语言:javascript
复制
 if 有错误
    ?错误
    return .f.
 endif

init事件 (猫框)

代码语言:javascript
复制
 if 有错误
     ?错误
    this.Destroy()  &&释放所有自响应控件
    return .f.
 endif

如果是模式表单可以在Unload事件中返回值

代码语言:javascript
复制
 return 123

模式表单取返回值规范调用方法

平常我们调用模式表单写法如下

代码语言:javascript
复制
 Do form 模式表单 with 参数 to uReturn
 ?uReturn

如果模式表单在LOAD事件就Return .f. 这样情况会出现错误, uReturn 未定义

所以完整规范的写法如下

代码语言:javascript
复制
 local uReturn
 uReturn =.null.
 Do form 模式表单 with 参数 to uReturn
 if isnull(uReturn)
   return 
 endif
 ?uReturn

这里就可以判定值是不是NULL,如果是NULL表示程序不往下执行了。

代码如果规范,就能从源码把错误给避免了,让您的程序更加稳定高效。

猫猫带个货,海南金煌芒果,坏果包赔,喜欢的可以下单啊。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 表单异常错误处理
  • 表单LOAD和INIT事件中错误处理
  • 模式表单取返回值规范调用方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档