以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动升级后报错,请指导 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59463) |
-- 作者:audience68 -- 发布时间:2014/11/4 19:31:00 -- 自动升级后报错,请指导 做好了自动升级,但是在自动升级后,出现报错窗口,但是关闭报错窗口后,启动程序正常,也确实进行了升级,请高手指导如何修改代码。我编写的AfterOpenProject代码如下: StatusBar.Message2= "当前用户:"
& User.Name &" 程序开发:*** QQ:1234567 " If GetConfigValue("试用起始日",#1/1/2010#) = #1/1/2010#
Then \'定义一个试用起始日的变量,让默认日期为早期时间, 若是第一次运行,则将试用日期设为当天 SaveConfigValue("试用起始日",Date.Today) End If Dim usetoday As Date = GetConfigValue("试用日期",Date.today) \'定义一个日期变量,来记录系统本次打开日期 Dim Regok As Boolean = getconfigvalue("注册状态",False) \'定义一个逻辑变量,用来记录注册成功与否 Dim startday As Date = GetConfigValue("试用起始日",#1/1/2010#) \'定义一个日期变量,来记录第一次打开系统的日期 If regok
= False Then \'若是未注册状态 If Date.Today < usetoday
Then \'若当前日期小于上一次的试用日期,则说明系统时间被修改 msgbox("系统时间被非法修改,不能进入系统!") \'给消息提示 syscmd.project.Exit() \'强制退出系统 Return End If If Date.Today > startday.AddDays(90) Then \'若今天比第一次打开系统的日期过去3天了 Forms("注册").open Return \'返回,不执行后面的打开窗口1的代码 End If End If SaveConfigValue("试用日期",Date.Today) \'把今天的日期写入到试用日期的参数值里 If Syscmd.Project.Update(False,True) = False Then \'如果没有升级 Forms("导航").open() End If If User.Type
<> UserTypeEnum.Developer
\'隐藏表标题(普通登录者不显示表标题,但开发者登录时显示) TableCaptionVisible
= False End If
DataTables("监造基本信息表").DataCols("监造流水号").RaiseDataColChanged() DataTables("监造物资明细表").DataCols("监造流水号").RaiseDataColChanged()
Tables("监造放行单表.监造物资明细表").Visible = False Tables("监造日志.监造物资明细表.监造周报").Visible = False Tables("监造日志.监造物资明细表.图纸工艺文件及进度状态表").Visible = False Tables("监造日志.监造物资明细表.原材料及外购外协件检验表").Visible = False Tables("监造物资明细表").Grid.AllowFiltering
= True \'启动表的内置筛选功能 Tables("监造基本信息表").Grid.AllowFiltering
= True \'启动表的内置筛选功能 Tables("监造周报").Grid.AllowFiltering
= True \'启动表的内置筛选功能 Tables("监造日志").Grid.AllowFiltering
= True \'启动表的内置筛选功能 Tables("监造放行单表").Grid.AllowFiltering
= True \'启动表的内置筛选功能 Tables("人员信息表").Grid.AllowFiltering = True \'启动表的内置筛选功能 错误信息如下: .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2014.10.16.1 错误所在事件:项目,AfterOpenProject 详细错误信息:
未将对象引用设置到对象的实例。 |
-- 作者:有点甜 -- 发布时间:2014/11/4 19:38:00 -- 把这段代码写到Initialize事件,不写到afterOpenProject里面去
StatusBar.Message2= "当前用户:" & User.Name &" 程序开发:*** QQ:1234567 " If GetConfigValue("试用起始日",#1/1/2010#) = #1/1/2010# Then \'定义一个试用起始日的变量,让默认日期为早期时间, 若是第一次运行,则将试用日期设为当天 SaveConfigValue("试用起始日",Date.Today) End If Dim usetoday As Date = GetConfigValue("试用日期",Date.today) \'定义一个日期变量,来记录系统本次打开日期 Dim Regok As Boolean = getconfigvalue("注册状态",False) \'定义一个逻辑变量,用来记录注册成功与否 Dim startday As Date = GetConfigValue("试用起始日",#1/1/2010#) \'定义一个日期变量,来记录第一次打开系统的日期 If regok = False Then \'若是未注册状态 If Date.Today < usetoday Then \'若当前日期小于上一次的试用日期,则说明系统时间被修改 msgbox("系统时间被非法修改,不能进入系统!") \'给消息提示 syscmd.project.Exit() \'强制退出系统 Return End If If Date.Today > startday.AddDays(90) Then \'若今天比第一次打开系统的日期过去3天了 Forms("注册").open Return \'返回,不执行后面的打开窗口1的代码 End If End If SaveConfigValue("试用日期",Date.Today) \'把今天的日期写入到试用日期的参数值里 If Syscmd.Project.Update(False,True) = False Then \'如果没有升级 Forms("导航").open() End If |
-- 作者:audience68 -- 发布时间:2014/11/4 19:47:00 -- 甜版,在帮助里,这些代码不都是写在afterOpenProject里吗,为何,现在要该在Initialize,有什么说法吗? |
-- 作者:有点甜 -- 发布时间:2014/11/4 19:49:00 -- 如果写在afterOpenProject。
下面的代码就要在判断的里面写
If Syscmd.Project.Update(False,True) = False Then \'如果没有升级 Forms("导航").open()
\'其余的代码
End If |
-- 作者:audience68 -- 发布时间:2014/11/4 19:55:00 -- 是不是可以这样理解,如果象我前面编的代码,在升级完后,就不打开导航窗口,但程序还是会继续执行END IF 后面的语句,所以就报错了? |
-- 作者:有点甜 -- 发布时间:2014/11/4 20:05:00 -- 嗯 |
-- 作者:audience68 -- 发布时间:2014/11/5 13:53:00 -- 谢谢甜版 |