下面是引用 n3ph223172 于 2011-09-02 21:00 发表的 :
除了安装VB2010以外没有其他的方法吗?
听说好像VB6写出来的程式比较少问题??
是啊,VB6 写出来的都很稳定,可是 VB6 未来的作业系统几乎都不支援了
VB2010 转到 VB6 也有巨大的困难,两者的程式码差异很大
(1) 之前的 无法复制档案 错误,可能造成错误的程式码只有这行 :
My.Computer.FileSystem.CopyFile(dataDir & "CS_Update" & cData.listUpdate(l), curDir & cData.listUpdate(l), True)dataDir 就是 %Temp%\ 中的资料夹,curDir 则是目前程式启动位置的资料夹
侦错方法 :在 frm_main 中的 Sub local_new_copyfile
把里面最后一行改掉 (之后记得改回来):
原本是
复制程式
Err_2: local_show_errDlg("Err_copyFile", cData.listUpdate(l))
改成
复制程式
Err_2: local_show_errDlg("Err_copyFile", cData.listUpdate(l)): MsgBox(Err.Description, MsgBoxStyle.Critical, "Debug mode")
然后让发生这个错误的电脑再去跑一次这编译的程式,然后回报错误的讯息
我猜一定是资料夹路径出了什么问题,搞不好是防毒挡下来的
(2) 之前那个 执行阶段错误 我怀疑有可能是这一行引发错误的 :
flagUpdate = Not CBool(cData.listHash(l) = buff.ToString)cData.listHash() 的资料是在 Sub data_load_index 增加的,index 超出范围就代表当初没加到
就代表 index.txt 下载过程可能出问题,或是伺服器档案出错,编码错误的可能性不大
侦错方法 :在 flagUpdate = Not CBool(cData.listHash(l) = buff.ToString) 前面加上这三行 :
复制程式
MsgBox(cData.listHash.Count)
Clipboard.Clear()
Clipboard.SetText(My.Computer.FileSystem.ReadAllText(dataDir & "index.txt"))
会有一个框框跳出,如果写 0 就代表当初 index.txt 解析过程有问题,才会没读到 MD5 码
(如果写 1 以上 ,就是我前面说错了)
然后让那台电脑使用者把 剪贴簿 的文字贴过来看看,看看他从 FTP 下载回来的 index.txt 出了什么问题