|
本帖最后由 chenfuping 于 2010-7-7 21:26 编辑
在本论坛看到beenet老师的“升级启动”源码程序,让人心动,源码地址:http://www.office-cn.net/vvb/thread-62727-11-1.html
于是做了网站测试,当运行到“.FileURL = CboURL '设置bkDLControl的下载地址”这句时出现:运行时错误"438“,对象不支持该属性或方法。百思不得其解,程序没有修改过,应该没有问题,是不是网站还是其它什么地方,能连接到网站和读出更新版本号,就是在下载时读取下载地址出错?望各位老师解答,谢谢!!!
出错源码:Private Sub Form_Timer()
Dim sA() As String
Dim s, tn, Os, Ur As String
Dim i As Long
Me.LabLod.Visible = Not Me.LabLod.Visible
n = n + 1
If n = 6 Then '是否更新
If DLookup("Note", "usystem", "Type='是否更新'") = 1 Then
Ur = DLookup("Note", "usystem", "Type='更新信息'")
If Len(Inet3.OpenURL(Ur)) <> 0 Then
Text1 = Inet3.OpenURL(Ur)
If Inet3.StillExecuting Then
DoEvents
End If
sA = Split(Text1, vbCrLf)
Np = Right(Trim(sA(1)), Len(Trim(sA(1))) - 5)
Nb = Right(Trim(sA(2)), Len(Trim(sA(2))) - 5)
Nd = Right(Trim(sA(3)), Len(Trim(sA(3))) - 5)
Nw = Right(Trim(sA(4)), Len(Trim(sA(4))) - 5)
Nf = Right(Trim(sA(5)), Len(Trim(sA(5))) - 5)
If Np = DLookup("Note", "usystem", "Type='程序名称'") Then
Os = DLookup("Note", "usystem", "Type='版本编号'")
If Nb > Os Then
SetTimer hwnd, NV_CLOSEMSGBOX, 5000, AddressOf TimerProc '设置关闭的时间
If MsgBox(" 发现更新版本,版本号: " & Nb & vbNewLine & " 更新日期: " & Nd & vbNewLine & " 5秒钟后将自动进行更新 ", 64 + 4, "提示") = vbYes Then
Me.TimerInterval = 0
Me.LabLod.Caption = "更新下载中..."
Me.lblProg.Visible = True
Me.ctB_Cancel.Visible = True
Me.DL.Visible = True
Call Sleep(500)
Dim CboURL As String
CboURL = Nw & Nf
With DL
出错在这里 .FileURL = CboURL '设置bkDLControl的下载地址
.SaveFilePath = CurrentProject.Path & "\" '设置下载后的保存路径,这里设置为当前程序所在文件夹
'在lstOut中添加下载状态说明,这里使用了一个自定义过程,该过程的代码将在下面第四步说明
.BeginDownload '发出开始下载命令
End With
Exit Sub
Else
Call MyShell
Exit Sub
End If
Else
Call MyShell
Exit Sub
End If
End If
Else
MsgBox "没有连接"
End If
Else
Call MyShell
End If
End If |
|