以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发布后自动更新 全局代码增加用户分组属性 解决方法。。。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99404)

--  作者:fubblyc
--  发布时间:2017/4/18 20:44:00
--  发布后自动更新 全局代码增加用户分组属性 解决方法。。。

Public _UserGroup2 As String \'用户分组2

 

如上,全局代码增加了另一个用户分组,客户做文件版本升级后,需要重新打开全局才会生效,也就是才有_UserGroup2,那用户登录就会报错。

如下:

If e.Form.Controls("TextBox1").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    _UserGroup2 = dr("财务运营表组别")

    e.Form.Close

Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

报错如下:找不到字段:“UserCode._UserGroup2”。

 

那我在项目事件的

BeforeShowErrorMessage

在Foxtable捕获错误并即将显示错误信息前执行。

写如下代码:

    If e.Message1.Contains("找不到字段")  Then
        e.Cancel = True
Syscmd.Project.Open(ProjectFile) \'自动重启,有重新打开一个登录窗口,但是没有关掉原来的,只是增加了一个登录窗口,覆盖住前面的。同时全局代码没有生效。只好用下面的方法提示用户收到重启。有没有什么办法可以解决吗?
     \'   MessageBox.Show("请点取消关闭软件,再次双击桌面上的图标打开即可 !","提示", MessageBoxButtons.ok, MessageBoxIcon.Information)
    Else
        e.Cancel = True
        MessageBox.Show("请再试一遍 , 不行的话联系李奕灿:13564783903 !","提示", MessageBoxButtons.ok, MessageBoxIcon.Information)
    End If   

 

我有参考过

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=64301&replyID=&skin=1

的代码,但是他同样是写在全局代码,没有重启后全局代码没有生效,对于之前安装的客户端无效。。。。。


--  作者:有点色
--  发布时间:2017/4/19 8:45:00
--  

 你试试用重启代码

 

Application.Restart()

 


--  作者:fubblyc
--  发布时间:2017/4/19 17:25:00
--  

好,谢谢!!