Foxtable(狐表)用户栏目专家坐堂 → [求助]自动升级1次为何出现3次登录?


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

主题:[求助]自动升级1次为何出现3次登录?

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]自动升级1次为何出现3次登录?  发帖心情 Post By:2012/11/8 22:59:00 [只看该作者]

 

'下面是用到的全局代码

Public pname As String="项目管理系统" '项目名称

Public rpath As String="d:\" & pname & "\数据文件\project" '项目文件运行路径

Public upath As String="\项目管理系统\数据文件\" '服务器上的项目文件升级路径和备份路径

Public datafile As String = pname & ".zip" '包含最新升级数据的文件名

 

'下面是AfterOpenProject事件中自动静默下载升级文件并更新的代码

Dim ftp1 As new ftpclient

ftp1.TimeOut=20000 '用于设置尝试操作的毫秒数

ftp1.host=IPa '设置单位ftp服务器地址,IPa为全局代码

ftp1.Account = ftpAccount '设置ftp登录用户名,ftpAccount为全局代码

ftp1.password = ftppassword '设置ftp登录密码,ftppassword为全局代码

Dim s1 As Date=ftp1.GetFileDate(upath & datafile) '获取服务器上升级文件的日期时间

If s1>publishdate Then '如果较现在版本的日期时间新则下载并升级

    Dim s3 As String = upath & datafile '服务器上升级文件中包含升级内容的文件

    Dim s4 As String = rpath & "\" & datafile '准备保存在客户端的包含升级内容的文件

    ftp1.download(s3,s4,False) '静默下载并另存

    Dim zip As New zipFile

    zip.Open(s4) '打开升级文件

    zip.Extractall(rpath) '全部解压到客户端运行文件夹

    zip.Close() '关闭升级文件

    FileSys.deleteFile(s4,2,2) '删除升级文件

    Syscmd.Project.Open(ProjectFile) '重新打开项目

End If

Forms("用户登录").Open()

 

求助:上述代码怎么看都应该只出现一次登录界面,为何会出现3次呢?


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


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

Public pname As String="项目管理系统" '项目名称
Public rpath As String="d:\" & pname & "\数据文件\project" '项目文件运行路径
Public upath As String="\项目管理系统\数据文件\" '服务器上的项目文件升级路径和备份路径
Public datafile As String = pname & ".zip" '包含最新升级数据的文件名


'下面是AfterOpenProject事件中自动静默下载升级文件并更新的代码
Dim ftp1 As new ftpclient
ftp1.TimeOut=20000 '用于设置尝试操作的毫秒数
ftp1.host=IPa '设置单位ftp服务器地址,IPa为全局代码
ftp1.Account = ftpAccount '设置ftp登录用户名,ftpAccount为全局代码
ftp1.password = ftppassword '设置ftp登录密码,ftppassword为全局代码
Dim s1 As Date=ftp1.GetFileDate(upath & datafile) '获取服务器上升级文件的日期时间
If s1>publishdate Then '如果较现在版本的日期时间新则下载并升级
    Dim s3 As String = upath & datafile '服务器上升级文件中包含升级内容的文件
   Dim s4 As String = rpath & "\" & datafile '准备保存在客户端的包含升级内容的文件
    ftp1.download(s3,s4,False) '静默下载并另存
    Dim zip As New zipFile
    zip.Open(s4) '打开升级文件
    zip.Extractall(rpath) '全部解压到客户端运行文件夹
    zip.Close() '关闭升级文件
    FileSys.deleteFile(s4,2,2) '删除升级文件
    Syscmd.Project.Open(ProjectFile) '重新打开项目
Else
    Forms("用户登录").Open()
End If

 


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2012/11/9 8:48:00 [只看该作者]

狐爸,问题是执行了Syscmd.Project.Open(ProjectFile),就不该继续执行Forms("用户登录").Open()呀。

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


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

为什么不应该执行? 代码是按顺序执行的。

按我说的改吧。


 回到顶部