Foxtable(狐表)用户栏目专家坐堂 → [求助] 远程升级


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

主题:[求助] 远程升级

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


加好友 发短信
等级:小狐 帖子:350 积分:2933 威望:0 精华:0 注册:2015/4/23 19:53:00
[求助] 远程升级  发帖心情 Post By:2017/5/9 14:58:00 [只看该作者]

老师  您好

  我想在项目打开之前就进行 远程升级 ,之前是写在 AfterOpenProject 事件里面,如果删除了表,升级时就出现错误。

 

   试了一下把升级代码写在 项目 BeforeOpenProject 事件,结果出现了错误“未定义升级路径”,

请问老师升级代应该写在哪个事件里面,怎样用代码定义升级路径?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/9 15:10:00 [只看该作者]

 你这个问题比较麻烦。foxtable的自动更新太脑残。

 

 1、在beforeOpenProject事件判断是否需要升级

 

Network.DownloadFile("http://www.foxtable.com/download/80211/update.txt", "d:\update.txt" ,"" ,"" ,False, 100000, True)
Dim ary() As String = FileSys.ReadAllText("d:\update.txt").Split("|")

msgbox(ary(0))
msgbox(PublishDate)

If PublishDate < ary(0) Then
    msgbox("不是最新版")

End If

 

 2、如果需要升级,你的beforeLoadOuterTable事件,就写代码 e.cancel = true 意思是不加载任何表格。

 

 3、在AfterOpenProject事件,升级。


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


加好友 发短信
等级:小狐 帖子:350 积分:2933 威望:0 精华:0 注册:2015/4/23 19:53:00
  发帖心情 Post By:2017/5/9 16:11:00 [只看该作者]

老师  就是要它自动升级 

 

beforeLoadOuterTable事件  代码如下,发现不管它升不升级,都没有加载外部表,如果不升级的话就加载所有表,要怎样改。

 

Network.DownloadFile("http://119.23.33.1:8080/fz/update.txt", "d:\update.txt" ,"" ,"" ,False, 100000, True)
Dim ary() As String = FileSys.ReadAllText("d:\update.txt").Split("|")

If PublishDate < ary(0) Then
    e.cancel = True   
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/9 16:14:00 [只看该作者]

试试改成这样

 

Network.DownloadFile("http://119.23.33.1:8080/fz/update.txt", "d:\update.txt" ,"" ,"" ,False, 100000, True)
Dim ary() As String = FileSys.ReadAllText("d:\update.txt").Split("|")

If PublishDate < cdate(ary(0)) Then
    e.cancel = True   
End If

 


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


加好友 发短信
等级:小狐 帖子:350 积分:2933 威望:0 精华:0 注册:2015/4/23 19:53:00
  发帖心情 Post By:2017/5/9 16:28:00 [只看该作者]

还是不行  在命令窗口测试是可以的

 

在判断里面加了一个  msgbox("不是最新版")

出现死循环,如图


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

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/9 16:32:00 [只看该作者]

 你不要在 beforeLoadOuterTable 写。

 

 你有多少个表 beforeLoadOuterTable 就执行多少次的。

 

 定义一个public变量,在beforeOpenProject得到结果,记录起来。

 

 beforeOpenProject 你可以弹出 PublishDate 和 ary(0) 的值进行对比,看弹出的值是否正确。


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


加好友 发短信
等级:小狐 帖子:350 积分:2933 威望:0 精华:0 注册:2015/4/23 19:53:00
  发帖心情 Post By:2017/5/24 11:56:00 [只看该作者]

老师  测试发现  PublishDate = 00:00:00  ,但是如果项目打开后,它的值才是日期。


图片点击可在新窗口打开查看此主题相关图片如下:截屏fsfeyuu图片.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/24 12:35:00 [只看该作者]

 那就读取txt文件

 

Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\Bin\Version.txt") '客户端Version.txt发布日期


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


加好友 发短信
等级:小狐 帖子:350 积分:2933 威望:0 精华:0 注册:2015/4/23 19:53:00
  发帖心情 Post By:2017/5/24 13:23:00 [只看该作者]

老师  请问能不能用代码指定升级的路径?在AfterOpenProject事件升级代码之前指定路径。

 

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

End if

 


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

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/5/24 14:04:00 [只看该作者]

自动更新确实不好用,期待那个老师弄个通用的处理办法来解决一下。

 回到顶部
总数 11 1 2 下一页