可以在AfterOpenProject事件中加入如下代码:
试一试
If Syscmd.Project.Update(False,true) = False Then '如果没有升级
Forms("窗口表").Open()
End If
3、在线升级
你可以在你的项目中加上一个在线升级的菜单命令或者按钮,代码很简单:
Syscmd.Project.Update()
执行上面的代码,系统首先检索远程升级路径中的update.txt文件,获得升级包的发布日期,然后用这个日期和本地项目的发布日期进行比较,如果升级包的日期较新,则下载update.zip文件,并自动解压更新有关文件。
至此我们的在线升级功能已经完成,即使你是一个初次接触编程的人,应该也能即时掌握。
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。
4、基于局域网的在线升级
在线升级默认是基于互联网的,在升级之前,会自动检测是否连接互联网。
如果要基于局域网进行在线升级,除了将升级包路径设置为局域网路径外,还必须将属性“通过互联网升级”设置为False:
5、和远程升级相关的系统变量
- PublishDate
日期型变量,返回在项目属性中设置的项目发布日期。
- UpdatePath
字符型,用于设置或返回在线升级路径,有了这个变量,我们可以动态设置升级路径。
- RemoteUpdate
逻辑型,是否通过互联网升级。