Foxtable(狐表)用户栏目专家坐堂 → 关于系统升级的问题请教


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

主题:关于系统升级的问题请教

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
关于系统升级的问题请教  发帖心情 Post By:2014/8/10 16:11:00 [只看该作者]

根据说明中的说法:

 

如果我们在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。

 

 

我现在想法是:(当升级时会显示一个窗口,提示升级进行中,当升级成功后再关闭那个提示窗口,请问下面的做法可行吗?如果不行应该如何做?)

 

在AfterOpenProject下面的代码:

Syscmd.Project.Update(False,True)

Forms("窗口1").Open() ’这里打开窗口是希望能让这个窗口提示用户升级正在进行中(因为有时网络或文件的原因,下载升级包会需要一些时间的。)

If Syscmd.Project.Update(False,False) = True Then '如果升级成功就关闭下面的窗口。
     Forms("窗口1").close()
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/10 16:15:00 [只看该作者]

 做不到,最多这样写

 

Forms("窗口1").Open()

Syscmd.Project.Update(False,False)


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/8/10 16:18:00 [只看该作者]

以下是引用有点甜在2014-8-10 16:15:00的发言:

 做不到,最多这样写

 

Forms("窗口1").Open()

Syscmd.Project.Update(False,False)

我是想当用有升级时才提示,如果这样写的话,那它每次都会打开那个窗口,而不管你有没升级。

 

所以有没一个可以实现我这个想法的方案?


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/8/10 16:24:00 [只看该作者]

所以我很希望大家能帮我想一个办法,如果没办法的话,我认为FT应该要在给我们一个可行的方法,否则当有升级因为没进度提示,什么都没显示,用户会如何想?这会让他们以为死机了的。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/10 16:33:00 [只看该作者]

 目前没有办法,要么,你就检测比较一下升级路径的.txt文件,和本系统的.txt文件是否一样,如果不一样,就执行 Syscmd.Project.Update(False,False)

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/8/10 16:36:00 [只看该作者]

以下是引用有点甜在2014-8-10 16:33:00的发言:
 目前没有办法,要么,你就检测比较一下升级路径的.txt文件,和本系统的.txt文件是否一样,如果不一样,就执行 Syscmd.Project.Update(False,False)

请问如何检测,如何比较,能详细一点吗?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/10 16:40:00 [只看该作者]

 在project中加入txt文件。

 

 代码中加入代码,下载升级路径的txt文件,然后获取内容和project里面的txt文件内容比较

 

 http://www.foxtable.com/help/topics/1402.htm

 

[此贴子已经被作者于2014-8-10 16:39:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/10 16:42:00 [只看该作者]

 如果是局域网,你就直接写路径读取即可。

 

http://www.foxtable.com/help/topics/0344.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/8/10 17:12:00 [只看该作者]

明白,谢谢!但还是建议FT公司考虑一下能否改进这个方面,无论是升级的进度提示还是加载数据的进度提示或一些大量计算都能给我们一个选择,不用我在这个方面花那么多心思就好了。
[此贴子已经被作者于2014-8-10 17:12:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/10 17:14:00 [只看该作者]

 以后的版本,局域网升级及ftp升级,会有下载提示或进度条提示。

 回到顶部