Foxtable(狐表)用户栏目专家坐堂 → 代码疑问


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

主题:代码疑问

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/10/15 10:13:00 [显示全部帖子]

因为是字符型,您判断的是小于大于,应该是永远得不到结果,改成这样试试:

 

If b1 = b2 Then

    MessageBox.Show("您的系统已经是最新版本,暂时不需要更新!", "提示")

else
    MessageBox.Show("系统有更新,请更新文件!!", "提示")
    Forms("登陆窗口").Close()
    Forms("软件更新").OPEN()
End If


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/10/15 12:06:00 [显示全部帖子]

自动升级的几点思路,仅供大家讨论、参考:

  1、其实可以将版本号改为小数型,每次升级版本号不断递加,用SQL外部数据源,保存在您的服务器(开发者专用服务器,),用户对比这个版本号的大小来升级,这里先将系统命名为system.foxdb,以便后面的介绍。

  2、再另外设计一个隐藏系统主界面的.foxdb文件(这里暂且命名为update.foxdb),使update.foxdb文件仅仅显示一个模式窗口,update.foxdb文件的AfterOpenProject事件设置FTP下载指定文件的代码,通过代码下载最新的到system.foxdb到项目文件夹,覆盖旧版本的system.foxdb(如果有图片、图标等更新的附件,在这里通过代码一并下载,更新文件不能包含update.foxdb),下载完毕,通过代码关闭update.foxdb,在update.foxdb文件的BeforeCloseProject事件中设置代码提示更新完毕并打开system.foxdb文件。

 

    主要操作思路及原理:由于不关闭system.foxdb,直接通过system.foxdb来下载覆盖,会被windows操作系统禁止覆盖,因为system.foxdb文件是打开的,所以用了一个update.foxdb来切换,作一下升级过度,update.foxdb一次设计,不需要每次更新。所以,通过system.foxdb文件手动(或自动检测:判断网络及版本号)检测网络及新的版本并提示用户更新(当网络未链接时,自动更新方式不需要提示更新),得到确认后,打开update.foxdb并关闭system.foxdb,在update.foxdb进行自动下载、覆盖完毕以后,提示更新完毕,再通过代码先打开system.foxdb并自动关闭update.foxdb,让整个升级过程完全自动进行。

 

     由于本人暂时没有精力研究,仅做纸上谈兵,理论上应该可行(曾经用易表做的工程造价管理系统,就是按此原理进行本地数据库更新),供大家讨论参考。

[此贴子已经被作者于2010-10-15 12:14:03编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/10/15 13:54:00 [显示全部帖子]

以下是引用czy在2010-10-15 12:33:00的发言:

 

下载完成后用CopyFile进行复制并重命名打开的项目名称是可以覆盖的,升级完成后只需syscmd.Project.Open(ProjectFile)就可以重新打开更新后的项目。

 

 

哦,我还没有深入研究!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/11/2 10:30:00 [显示全部帖子]

首次使用安装包,自动更新直接通过解压缩文件包就应该可以吧?

 回到顶部