以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 提醒是否要升级 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191009) |
||||
-- 作者:edisontsui -- 发布时间:2024/3/20 16:30:00 -- 提醒是否要升级 Syscmd.Project.Update(False, True, False) 我将上述代码放在 maintablechanging 里面,希望切换主表时,提醒用户是否要对系统进行升级。如果他要升级,就点击Yes;如果他不要升级,就点击 No。但是运行时出现如下警告: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件:在线升级失败! 详细错误信息: 不支持给定路径的格式。 请问要怎样修改代码?谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2024/3/20 16:35:00 -- 这个错误提示应该是升级路径不正确。 考虑放到按钮,或者菜单里,然后用户自行点击。或者和帮助一样放到AfterOpenProject事件处理。
|
||||
-- 作者:edisontsui -- 发布时间:2024/3/20 16:57:00 -- 好的 |
||||
-- 作者:edisontsui -- 发布时间:2024/5/7 9:03:00 -- If LastInputTickCount > 300000 Then \'停用5分钟则会执行 Dim s As String = FileSys.ReadAllText("\\\\BOSON\\Foxtable\\Foxtable\\升级文件\\update.txt") \'取得最新发布时间 Dim dt1 As Date = CDate(s.Substring(0, 10)) If Publishdate = dt1 Then If user.group IsNot Nothing Then Dim Str1 As String = "用户名: " & User.Name & " 用户组别: " & user.group & " 系统发布日期: " & Publishdate \'& " 当前时间: " & Date.now \'当前时间没有意义 StatusBar.Message1 = Str1 Else Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate \' & " 当前时间: " & Date.now StatusBar.Message1 = Str1 End If ElseIf Publishdate < dt1 Then If user.group IsNot Nothing Then Dim Str1 As String = "用户名: " & User.Name & " 用户组别: " & user.group & " 系统发布日期: " & Publishdate & " 已有最新版本, 发布日期为 " & dt1 & ", 请适时重新登录系统。" StatusBar.Message1 = Str1 Else Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate & " 已有最新版本, 发布日期为 " & dt1 & ", 请适时重新登录系统。" StatusBar.Message1 = Str1 End If End If End If 上面代码放在 systemidle 里面,目的是:如果用户登录了旧版本的系统(比如2024-04-27发布的),那么当有了最新版本的系统(比如2024-05-07发布的)后,就会提示他目前使用的版本是哪个日期的,现在的最新版本是哪个日期的。但是实际上却只会显示最新版本的日期,而旧版本的日期却不显示,也就是说,没有执行红色那段代码。请问是什么原因?谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2024/5/7 9:07:00 -- 学会调试 msgbox(dt1) msgbox(Publishdate ) msgbox(Publishdate < dt1)
|
||||
-- 作者:edisontsui -- 发布时间:2024/5/11 10:32:00 -- Dim dt1 As Date = CDate(s.Substring(0, 10)) If Publishdate = dt1 Then \'MsgBox("无需更新") 这句没问题 If user.group IsNot Nothing Then Dim Str1 As String = "用户名: " & User.Name & " 用户组别: " & user.group & " 系统发布日期: " & Publishdate \'& " 当前时间: " & Date.now \'当前时间没有意义 StatusBar.Message1 = Str1 Else Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate \' & " 当前时间: " & Date.now StatusBar.Message1 = Str1 End If ElseIf Publishdate < dt1 Then \'MsgBox("提示你是否需要重新登录更新版本。") 这句没问题 If user.group IsNot Nothing Then Dim Str1 As String = "用户名: " & User.Name & " 用户组别: " & user.group & " 系统发布日期: " & Publishdate & " 已有最新版本, 发布日期为 " & dt1 & ", 请适时重新登录系统。" StatusBar.Message1 = Str1 \'MsgBox("提示1:已有最新版本放行了,你是否需要重新登录更新版本。") 这句没问题 Else Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate & " 已有最新版本, 发布日期为 " & dt1 & ", 请适时重新登录系统。" StatusBar.Message1 = Str1 \'MsgBox("提示2:已有最新版本放行了,你是否需要重新登录更新版本。") 这句没问题 End If End If 一4楼的代码,我加了多个 msgbox 进行测试(绿色那些代码),都会执行。但就是红色那部分内容出不来。
|
||||
-- 作者:cd_tdh -- 发布时间:2024/5/11 10:43:00 -- Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate \' & " 当前时间: " & Date.now 这儿也不对,多了个单引号 或是这样写试试 If LastInputTickCount > 300000 Then \'停用5分钟则会执行 Dim s As String = FileSys.ReadAllText("\\\\BOSON\\Foxtable\\Foxtable\\升级文件\\update.txt") \'取得最新发布时间 Dim dt1 As Date = CDate(s.Substring(0, 10)) If Publishdate = dt1 Then If user.group IsNot Nothing Then Dim Str1 As String = "用户名: " & User.Name & " 用户组别: " & user.group & " 系统发布日期: " & Publishdate \'& " 当前时间: " & Date.now \'当前时间没有意义 StatusBar.Message1 = Str1 Else Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate & " 当前时间: " & Date.now StatusBar.Message1 = Str1 End If End If If Publishdate < dt1 Then If user.group IsNot Nothing Then Dim Str1 As String = "用户名: " & User.Name & " 用户组别: " & user.group & " 系统发布日期: " & Publishdate & " 已有最新版本, 发布日期为 " & dt1 & ", 请适时重新登录系统。" StatusBar.Message1 = Str1 Else Dim Str1 As String = "用户名: " & User.Name & " 系统发布日期: " & Publishdate & " 已有最新版本, 发布日期为 " & dt1 & ", 请适时重新登录系统。" StatusBar.Message1 = Str1 End If End If End If [此贴子已经被作者于2024/5/11 10:44:10编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2024/5/11 10:46:00 -- 意思是StatusBar没有显示红色的文字? msgbox(Str1 ) 能不能显示完整的内容?
|
||||
-- 作者:edisontsui -- 发布时间:2024/5/11 12:46:00 --
请看上图。当6楼所示的<提示1>出现时,左下角的显示内容就是正确的;但是当我点击<提示1>的《确定》按钮后,这个提示框会消失,但同时左下角的红色部分内容也会消失掉。
|
||||
-- 作者:有点蓝 -- 发布时间:2024/5/11 14:02:00 -- 建议使用StatusBar.Message2 或者试试 StatusBar.DefaultMessage = Str1 StatusBar.Message1 = Str1
|