日期:2013-10-12  浏览次数:20359 次

 
  笔者在开发使用系统中曾经用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.