以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  设置好在线升级后,一定会在终出现两次升级提示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183175)

--  作者:9EQ98
--  发布时间:2022/10/27 10:24:00
--  设置好在线升级后,一定会在终出现两次升级提示

项目重新发布后,将压缩包放到FTP服务器

在终端启动系统,会提示两次升级,之后正常

第一次升级选择:是,完成后,重新启动系统,将再一次提示是否升级,选择:是,完成后,能正常进入



AfterOpenProject

此事件在项目已经完全打开后执行,此时DataTable、Table和窗口都已经生成。


\' 检查在线升级 Top
If Syscmd.Project.Update(False,True) = True Then \'如果有升级
    \'Functions.Execute("PUT_Task_Log","退出","After系统有升级退出")  \' 写入(新建)登录日志记录
    Syscmd.Project.Exit()  \'如果有升级,则退出系统
    Return  \' 一定要加上返回语句
End If
\' 检查在线升级 End

请问:代码需要如何优化

图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/10/27 10:29:00
--  
如果AfterOpenProject只有上面的代码,一句即可,不要画蛇添足:Syscmd.Project.Update(False,True)

如果有其它代码应该按帮助的用法

总之,如果需要在AfterOpenPoject事件中实现自动升级,那么原有的AfterOpenProject事件代码必须包括在这个判断中,只有没有升级的情况下,才执行原来的代码:

If Syscmd.Project.Update(False,True) = False Then \'如果没有升级
    \'其它AfterOpenProject事件代码
End
 If


--  作者:9EQ98
--  发布时间:2022/10/29 14:51:00
--  
如果有升级,需要做升级的记录,需如何写代码?

If Syscmd.Project.Update(False,True) = False Then \'如果没有升级
    \'其它AfterOpenProject事件代码
ELSE
    \' 有升级,可以写代码吗?例如,记录到本地文本文件,什么时候,升级到了什么版本
End
 If

--  作者:有点蓝
--  发布时间:2022/10/29 16:40:00
--  
If Syscmd.Project.Update(False,True) = False Then \'如果没有升级
    \'其它AfterOpenProject事件代码
ELSE
    Functions.Execute("PUT_Task_Log","退出","After系统有升级退出")
End
 If