以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  升级问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58436)

--  作者:drcqh
--  发布时间:2014/10/16 16:52:00
--  升级问题
项目升级后提示升级结束,重新启动程序。重启后提示错误,是什么问题?
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20141016164911.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20141016164951.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2014/10/16 16:59:00
--  

升级代码在AfterLoad事件?

贴出这个事件的代码看看。

 

注意帮助中的这句话:

 

Update的语法:

Syscmd.Project.Update(Prom1, Prom2)

Prom1: 可选参数,逻辑型,没有发现新版本时,是否提示用户。
Prom2: 可选参数,逻辑型,发现新版本时,是否提示用户升级。

例如希望自动升级能够完全"静默",发现新版本时不提示,自动开始升级,没有发现新版本时也不提示:

Syscmd.Project.Update(False,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。

[此贴子已经被作者于2014-10-16 16:59:51编辑过]

--  作者:drcqh
--  发布时间:2014/10/16 17:11:00
--  

升级代码在afteropenproject,代码如下:

If syscmd.project.update(False,True)=False Then \'在线升级
    BaseMainform.Text = "铁路装车数据管理系统"  

    MainTable=Tables("计量主表")
    Forms("计量数据录入").Open
    Tablecaptionvisible=False
    If DataTables.Contains("JLHead")=False Then
        MessageBox.Show("Access数据源未加载,请重新设置数据源","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        syscmd.project.Exit()
    End If
   End If


--  作者:狐狸爸爸
--  发布时间:2014/10/16 17:12:00
--  

这个事件的代码,应该不止这些吧?


--  作者:drcqh
--  发布时间:2014/10/16 17:16:00
--  

就这些


--  作者:drcqh
--  发布时间:2014/10/16 17:17:00
--  
目的是打开项目后先升级
--  作者:drcqh
--  发布时间:2014/10/16 17:18:00
--  
应该怎么写呀
--  作者:狐狸爸爸
--  发布时间:2014/10/16 17:20:00
--  

可以先用这个方法分析一下:

http://www.foxtable.com/help/topics/1485.htm
看看运行到那一行出错。


--  作者:drcqh
--  发布时间:2014/10/16 17:21:00
--  

每次打开项目后都在提示“在线升级结束,请重新启动”


--  作者:drcqh
--  发布时间:2014/10/16 17:30:00
--  

原项目文件打开时怎么没有任何提示,运行发布项目后就有前面的提示?