以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何自己检测是否有升级版本  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74041)

--  作者:newsun2k
--  发布时间:2015/9/1 9:03:00
--  如何自己检测是否有升级版本
如题?远程升级,如何检测有升级版本,提示升级呢?
--  作者:大红袍
--  发布时间:2015/9/1 9:05:00
--  

加如下面的代码

 

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。


--  作者:newsun2k
--  发布时间:2015/9/1 9:21:00
--  
我用了If Syscmd.Project.Update(False,true) = true Then return
怎么启动时,一直提示发现新版本?已经升级了也不行?

--  作者:newsun2k
--  发布时间:2015/9/1 10:03:00
--  
呼叫袍哥!
--  作者:bailang121
--  发布时间:2015/9/1 10:08:00
--  
If Syscmd.Project.Update(False,True) = False Then
   Forms("登录窗口").open() 
End If




--  作者:大红袍
--  发布时间:2015/9/1 10:13:00
--  

汗,你要用发布后的程序测试才行。

 

If Syscmd.Project.Update(False,True) = False Then

    \'你其余的代码

End If