看完:
http://www.foxtable.com/webhelp/scr/2934.htm
Update的语法:
Syscmd.Project.Update(Prom1, Prom2)
Prom1: 可选参数,逻辑型,没有发现新版本时,是否提示用户。
Prom2: 可选参数,逻辑型,发现新版本时,是否提示用户升级。
例如希望自动升级能够完全"静默",发现新版本时不提示,自动开始升级,没有发现新版本时也不提示:
Syscmd.Project.Update(False,False)
如果我们在AfterOpenProject下面的代码:
Syscmd.Project.Update(False,False)
Forms("窗口1").Open() '可能会出错
'后续其它代码
目的是希望打开项目的时候自动升级,然后打开窗口1。
但是上述代码肯定会在升级成功之后提示错误,因为一旦升级成功,Foxtable就会关闭,后面的打开窗口代码就会出错,当然后续其它的代码也一样会出错。
我们可以用下面的代码避免错误:
If Syscmd.Project.Update(False,False) = False Then '如果没有升级
Forms("窗口1").open()
'后续其它代码
End If
也就是说Update执行后会返回一个逻辑值,如果升级成功,返回True,否则返回False。
总之,如果需要在AfterOpenPoject事件中实现自动升级,那么原有的AfterOpenProject事件代码必须包括在这个判断中,只有没有升级的情况下,才执行原来的代码:
If Syscmd.Project.Update(False,False) = False Then '如果没有升级
'原AfterOpenProject事件代码
End If