Foxtable(狐表)用户栏目专家坐堂 → [求助]升级后有出错提示(开发版)


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

主题:[求助]升级后有出错提示(开发版)

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
[求助]升级后有出错提示(开发版)  发帖心情 Post By:2015/1/10 13:22:00 [显示全部帖子]

在项目中,为了实现以下二个目的:
1、在程序升级后,不要出现加载表的提示(此时不需要加载表)。
2、在登录(包括切换)用户后,必须提示“单价大于10元的订单”有多少条记录。

为了测试方便,升级目的建立在本机的“d:\updata”
本项目有二个问题:
1、每次打开项目,都会出现“表1”。删除这个“表1”表,保存项目后,下次打开还有出现。
2、升级完成后,出现提示:
Cannot access a disposed object.
Object name: 'gw'.

请版主见谅,因没有解决问题,只有再发一个帖。
这个项目的代码很简单,请版主测试一下项目文件。
狐表使用者一般都是以个人为主,不象通用软件,可以向同事或其他技术人员请教。
遇到狐表问题时,第一时间还是想到论坛,也许在版主看来是极简单的问题,但是对于不同的使用者
也许是一道坎,过不去,就是过不去。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test3.zip


[此贴子已经被作者于2015-1-10 13:22:28编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 14:22:00 [显示全部帖子]

请版主测试项目文件,以下是项目的全部代码,或指出哪一句写错了

项目事件
BeforeConnectOuterDataSource
If e.name = "订单" Then
    e.C & e.ProjectPath & "订单.mdb;Persist Security Info=False"
End If
BeforeLoadInnerTable
e.Cancel = True '不加载任何内部数据表
BeforeLoadOuterTable
e.Cancel = True '不加载任何外部数据表
AfterOpenProject
If   DataTables.Contains("main") = False Then '是否需要加载内部表,选其中一个作检测
    DataTables.Load("main")
End If
If   DataTables.Contains("订单") = False Then '是否需要加载外部表,选其中一个作检测
    DataTables.Load("订单")
End If
LoadUserSetting
If Syscmd.Project.Update(False,False) = False Then  '先检查是否要升级
    If   DataTables.Contains("main") = False Then '是否需要加载内部表,选其中一个作检测
        DataTables.Load("main")
    End If
    If   DataTables.Contains("订单") = False Then '是否需要加载外部表,选其中一个作检测
        DataTables.Load("订单")
    End If
DataTables("订单").LoadFilter ="[单价] > 10"
DataTables("订单").Load
    MessageBox.Show("订单表单价大于10元的记录数:" & Tables("订单").Rows.Count)
Else              ‘这二行删除也一样报错
    System.Diagnostics.Process.GetProcessesByName("foxtable")(0).Kill ‘这一行是甜版主写的一代码
End If '检查升级结束
SystemIdle
With CurrentTable
    Dim Str1 As String = "用户名:  " & User.Name
    Str1 = Str1 & "   表名:   " & .Name & "   总行数:   "
    Str1 = Str1 & .Rows.Count & "  当前行:  " & (.Position + 1)
    StatusBar.Message1 = Str1
End With
计划管理
表事件
窗口表事件
窗口与控件事件
自定义函数
全局代码
Default
菜单事件
系统管理_项目管理_程序升级_Click
Syscmd.Project.Update()   '检查升级
系统管理_项目管理_切换用户_Click
Syscmd.Project.SwitchUser()
系统管理_项目管理_退出_Click
Syscmd.Project.Exit(False)
系统管理_项目管理_系统菜单_Click
If User.Type = UserTypeEnum.Developer
    Syscmd.Project.OpenSystemMenu()
Else
    MessageBox.Show("只有开发者才能使用!","提醒")
End If
系统管理_项目管理_用户管理_Click
Syscmd.Project.Users()
 
[此贴子已经被作者于2015-1-10 14:23:32编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 14:48:00 [显示全部帖子]

新建一个项目,以便测试升级,但一样出错:
Cannot access a disposed object.
Object name: 'gw'.


项目事件
BeforeLoadInnerTable
e.Cancel = True

BeforeLoadOuterTable
e.Cancel = True

AfterOpenProject

If   DataTables.Contains("表A") = False Then '是否需要加载内部表,选其中一个作检测
    DataTables.Load("表A")
End If
'If   DataTables.Contains("订单") = False Then '是否需要加载外部表,选其中一个作检测
    'DataTables.Load("订单")
'End If
'

LoadUserSetting

If Syscmd.Project.Update(False,False) = False Then  '先检查是否要升级
    If   DataTables.Contains("表A") = False Then '是否需要加载内部表,选其中一个作检测
        DataTables.Load("表A")
    End If
    'If   DataTables.Contains("订单") = False Then '是否需要加载外部表,选其中一个作检测
    'DataTables.Load("订单")
    'End If
    '
        Forms("主窗口").Open
End If

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:升级测试.foxdb




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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 14:55:00 [显示全部帖子]

升级包可以自己制作啊,发布下程序,选一个较新的日期就可以。 升级文件选择放在“d:\updata”
[此贴子已经被作者于2015-1-10 15:04:03编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 15:00:00 [显示全部帖子]

升级代码就是从帮助中拷贝的,甜版主也说过升级检测可以放在用户登录代码中

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 15:27:00 [显示全部帖子]

1、每次打开项目,都会出现“表1”。删除这个“表1”表,保存项目后,下次打开还有出现。 2、升级完成后,出现提示: Cannot access a disposed object. Object name: 'gw'. 就是有以上二个问题 请版主直接修改项目文件。
[此贴子已经被作者于2015-1-10 15:29:18编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 16:14:00 [显示全部帖子]

测试过了,删掉ALterOpenProject里面的代码也一样出错。
完成升级后,出现“gw”错误
[此贴子已经被作者于2015-1-10 16:14:56编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 16:28:00 [显示全部帖子]

是在升级完成后,按重启确认后出现的。我试过三台计算机,都是一样的结果。 难道是我的狗有问题(永久版)?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 16:32:00 [显示全部帖子]

好,到星期一上班时间?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/1/10 18:09:00 [显示全部帖子]

是,我测试过。
[此贴子已经被作者于2015-1-10 22:48:57编辑过]

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