以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]升级以后,仍提示升级  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114919)

--  作者:jyh7081
--  发布时间:2018/2/26 11:50:00
--  [求助]升级以后,仍提示升级

升级以后,仍提示升级;但是点击升级按钮后,提示已是最新版本。我写的代码对吗?

 

1、在AfterOpenProject的代码:

If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
    PopMessage("有更新,请在系统维护点击在线升级!","提示", PopIconEnum.ok, 10)
End If

 

2、升级按钮代码:
Syscmd.Project.Update()


--  作者:有点甜
--  发布时间:2018/2/26 12:00:00
--  

你想做一个升级提示?要这样写

 


try
    Dim hc As New HttpClient(UpdatePath & "/update.txt") \'http://foxtable.com/download/80222/update.txt
    Dim str As String = hc.GetData()
    Dim ud() As String = str.Split("|") \'获取文件内容
    Dim Sdate1 As Date = Cdate(ud(0)) \'服务器update.txt发布日期
    Dim Sdate2 As Date = Cdate(ud(1)) \'服务器Version.txt发布日期
    Dim Cdate1 As Date = PublishDate \'客户端发布日期
    Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\\Bin\\Version.txt") \'客户端Version.txt发布日期
   
    If Sdate2 > Cdate2 OrElse Sdate1 > Cdate1 Then
        msgbox("有新版本")
        \'静默升级代码 Syscmd.Project.Update(False,False)
    End If
catch ex As exception
    msgbox(ex.message)
    msgbox("下载失败")
End try


--  作者:jyh7081
--  发布时间:2018/2/26 15:39:00
--  

甜老师,如果是局域网,升级文件地址是:\\\\10.28.102.15\\升级\\update.txt

第一句代码怎样改?

Dim hc As New HttpClient(UpdatePath & "/update.txt")


--  作者:有点甜
--  发布时间:2018/2/26 16:29:00
--  

改成

 

try
   
    Dim str As String = FileSys.ReadAllText(UpdatePath & "/update.txt")
    Dim ud() As String = str.Split("|") \'获取文件内容
   
    Dim Sdate1 As Date = Cdate(ud(0)) \'服务器update.txt发布日期
    Dim Sdate2 As Date = Cdate(ud(1)) \'服务器Version.txt发布日期
    Dim Cdate1 As Date = PublishDate \'客户端发布日期
    Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\\Bin\\Version.txt") \'客户端Version.txt发布日期
   
    If Sdate2 > Cdate2 OrElse Sdate1 > Cdate1 Then
        msgbox("有新版本")
        \'静默升级代码 Syscmd.Project.Update(False,False)
    End If
catch ex As exception
    msgbox(ex.message)
    msgbox("下载失败")
End try


--  作者:jyh7081
--  发布时间:2018/3/5 19:02:00
--  

甜老师,你好。

这两天又出现升级后又提示升级的情况,我查看后发现:

1、在命令窗口执行Output.Show(PublishDate),弹出:2018-01-26

2、自动打包生成的update.txt文件中是:2018-01-26 00:00:00|2018-3-3

 

我在说明中看到的update.tet文件内容格式为:2018-01-26|2018-3-3,并没有时间00:00:00;另外,说明中“......第一个日期必须和项目属性中设置的版本日期一致,否则会反复提示升级。”

http://www.foxtable.com/webhelp/index.htm?page=2934.htm

我这种不断提示升级情况,是否是“00:00:00”造成的?它又是如何产生的?怎样纠正?

[此贴子已经被作者于2018/3/5 19:09:31编辑过]

--  作者:有点蓝
--  发布时间:2018/3/5 20:32:00
--  
如果发布时手工选择日期就会自动添加00.可以手工去掉,或者干脆添加时间格式,如

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


--  作者:jyh7081
--  发布时间:2018/3/5 21:51:00
--  

蓝老师,你说的“可以手工去掉”,是指在生成的update.txt里手工去掉吧。

因为在发布窗口用时间输入框录入的时间格式只有日期,是看不到“00:00:00”,只是在发布以后的update.txt里才有的。


--  作者:有点蓝
--  发布时间:2018/3/5 21:59:00
--  
其实是没有问题的呀,不管是否有00:00:00,转换为日期后是相等的

Messagebox.Show(cdate("2018-01-26 00:00:00") = cdate("2018-01-26") )

--  作者:jyh7081
--  发布时间:2018/3/5 22:22:00
--  

我升级提示用的是4楼代码,手动升级代码是:Syscmd.Project.Update()

点击按钮升级以后,再进入项目,程序确实变化了。

但是再次进入项目仍提示有新版本;点击手动升级按钮,也提示有新版本......

还会有什么原因?


--  作者:有点蓝
--  发布时间:2018/3/5 22:27:00
--  
update.txt里手工去掉00:00:00试试