Foxtable(狐表)用户栏目专家坐堂 → 请狐爸帮忙看看升级代码问题出在哪里?升级后总是报错,但重新启动后正常


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

主题:请狐爸帮忙看看升级代码问题出在哪里?升级后总是报错,但重新启动后正常

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


加好友 发短信
等级:小狐 帖子:319 积分:2500 威望:0 精华:0 注册:2012/5/19 22:40:00
请狐爸帮忙看看升级代码问题出在哪里?升级后总是报错,但重新启动后正常  发帖心情 Post By:2013/7/6 21:46:00 [只看该作者]

我的程序已经发布,使用也正常,远程升级也可以实现,但是一直有个问题,就是远程升级后系统自动启动总是出错。但是重新情动程序后就正常了,系统也全部更新了,一定是我的afteropenproject编写存在瑕疵,麻烦狐爸帮我指导一下,谢谢了。
以下内容为程序代码:

1 Syscmd.Project.Update(False,True)
2 For Each dr As DataRow In DataTables("监造统计").DataRows
3 dr("距离交货期的时间") = ( CDate(dr("交货时间")) - Date.Today).TotalDays
4 Next
5 'Tables("监造统计").filter = "监造状态 <〉 完成"
6 Dim cnt As Integer = DataTables("监造统计").Select("[监造状态] <> '已完成' and 距离交货期的时间 <= 0").Count
7 If cnt > 0 Then
8 Tables("监造统计").filter = "[监造状态] <> '已完成' and 距离交货期的时间 <= 0"
9 messagebox.show("总共有" & cnt & "项物资已到或超过交货期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
10 End If
11 StatusBar.Message2= "当前用户:" & User.Name & " 今天日期:" & Date.Today
12 Tables("合同跟踪情况.监造统计.合同明细表").Visible = False
13 Tables("需关注物资表.合同跟踪情况").Visible = False
14 Tables("需关注物资表.合同跟踪情况.监造统计").Visible = False
15 Tables("需关注物资表.合同跟踪情况.监造统计.合同明细表").Visible = False
16 Tables("合同明细表.监造统计").Visible = False
17 'Tables("表1").Visible = False
18 Forms("导航1").open()
19 If User.Type <> UserTypeEnum.Developer '隐藏表标题(普通登录者不显示表标题,但开发者登录时显示)
20 TableCaptionVisible = False
21 End If
22 Tables("合同明细表").Grid.AllowFiltering = True '启动表的内置筛选功能
23 Tables("合同跟踪情况").Grid.AllowFiltering = True
24 Tables("在监的重要物资").Grid.AllowFiltering = True
25 Tables("无法满足现场需求时间的物资明细表").Grid.AllowFiltering = True
26 Tables("监造统计").Grid.AllowFiltering = True
27 Tables("合同明细窗口_Tbl_Main").Grid.AllowFiltering = True
28 Output.Logs("登录日志").Add(User.Name & ":" & Date.Now )
29 Output.Logs("登录日志").Save("\\wzbgyxxgl\物资供应信息管理系统\log.txt",True)
30 Output.Logs("登录日志").Clear
31


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/7/7 9:05:00 [只看该作者]

留意6月26日的更新,第10条:

 

 

10、Syscmd.Project.Update现在可以返回值了,如果升级成功返回True,否则返回False,参考下面的说明:

 

如果我们在AfterOpenProject下面的代码:

 

Syscmd.Project.Update(False,False) 
Forms("窗口1").Open() '可能会出错

 

目的是希望打开项目的时候自动升级,然后打开窗口1。

但是上述代码肯定会在升级成功之后提示错误,因为一旦升级成功,Foxtable就会关闭,后面的打开窗口代码就会出错。
我们可以用下面的代码避免错误:

 

If Syscmd.Project.Update(False,False) = False Then '如果没有升级
     Forms("窗口1").open()
End If

 

也就是说Update执行后会返回一个逻辑值,如果升级成功,返回True,否则返回False。


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


加好友 发短信
等级:小狐 帖子:319 积分:2500 威望:0 精华:0 注册:2012/5/19 22:40:00
  发帖心情 Post By:2013/7/8 22:02:00 [只看该作者]

我还没有升级到2013版,请问,如果继续使用2012版,可以使用上面的解决办法吗?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/9 8:15:00 [只看该作者]

不可以,必须升级才行。

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


加好友 发短信
等级:小狐 帖子:319 积分:2500 威望:0 精华:0 注册:2012/5/19 22:40:00
  发帖心情 Post By:2013/7/9 21:03:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部