Foxtable(狐表)用户栏目专家坐堂 → 局域网升级做法


  共有4822人关注过本帖树形打印复制链接

主题:局域网升级做法

帅哥哟,离线,有人找我吗?
lyfxybc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1290 积分:9826 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/12/19 14:07:00 [显示全部帖子]

 

可以在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
    逻辑型,是否通过互联网升级

     



 回到顶部