给FoxPro增加一个判断内存变量存在的函数

Author: 吴庆裕 Date: 1998年 第12期 13版

  笔者在开发应用系统中曾经用FoxPro的on error语句编写了一个判断内存变量的函数Exist(),非常方便实用,在此介绍给大家。
  设计思路:先假设内存变量存在,然后将待判断的内存变量赋值给一个临时变量,若该内存变量不存在,则执行时必将出错,出错时将执行on error语句,只要在on error处理的函数中修改内存变量存在与否的标志即可。为了不影响调用程序的错误处理,保证该函数的通用性,在函数执行前后必须保存和恢复调用程序可能的错误处理。
  源程序如下:
  ***EXIST.PRG***
  para MemoVari
  private Mexist,temp,OldError
  Mexist=.T.  &&假设内存变量存在
  OldError=on(′error′)  &&保存调用程序的错误处理
  on error do ErrHandle
  temp=&MemoVari
  on error &OldError  &&恢复调用程序的错误处理
  retu Mexist  &&返回存在标志
  proc ErrHandle
    Mexist=.F.  &&出错则置存在标准为.F.
  retu