以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  远程升级  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91485)

--  作者:tjzj_lyl
--  发布时间:2016/10/12 8:36:00
--  远程升级
请问老师:
     在进行远程升级的时候,出现了以下提示:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161012082017.png
图片点击可在新窗口打开查看


请问版本再次升级的时候,如何实现静默升级,不出现以上的提示?谢谢老师。

--  作者:有点蓝
--  发布时间:2016/10/12 8:39:00
--  
看完: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


--  作者:tjzj_lyl
--  发布时间:2016/10/12 9:23:00
--  
好的,谢谢已通过。