Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:提醒是否要升级

1楼
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
错误所在事件:在线升级失败!
详细错误信息:
不支持给定路径的格式。

请问要怎样修改代码?谢谢。
2楼
有点蓝 发表于:2024/3/20 16:35:00
这个错误提示应该是升级路径不正确。

这个代码不应该放到maintablechanging,难道用户每切换一次主表,就提醒一次升级?我如果碰到这种程序第一时间考虑的是卸载掉。

考虑放到按钮,或者菜单里,然后用户自行点击。或者和帮助一样放到AfterOpenProject事件处理。
3楼
edisontsui 发表于:2024/3/20 16:57:00
好的
4楼
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发布的)后,就会提示他目前使用的版本是哪个日期的,现在的最新版本是哪个日期的。但是实际上却只会显示最新版本的日期,而旧版本的日期却不显示,也就是说,没有执行红色那段代码。请问是什么原因?谢谢。
5楼
有点蓝 发表于:2024/5/7 9:07:00
学会调试

msgbox(dt1)
msgbox(Publishdate )
msgbox(Publishdate < dt1)
6楼
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 进行测试(绿色那些代码),都会执行。但就是红色那部分内容出不来。
7楼
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编辑过]
8楼
有点蓝 发表于:2024/5/11 10:46:00
意思是StatusBar没有显示红色的文字?

msgbox(Str1 ) 能不能显示完整的内容?
9楼
edisontsui 发表于:2024/5/11 12:46:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图片0511-01.rar

请看上图。当6楼所示的<提示1>出现时,左下角的显示内容就是正确的;但是当我点击<提示1>的《确定》按钮后,这个提示框会消失,但同时左下角的红色部分内容也会消失掉。
10楼
有点蓝 发表于:2024/5/11 14:02:00
建议使用StatusBar.Message2

或者试试

StatusBar.DefaultMessage = Str1
StatusBar.Message1 = Str1
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 3 queries.