在其他電腦上打開時候提示unexpected error,是不是其他電腦上缺少檔案
我的程式主要是用來記錄的,
參考的內容如附圖

不可能在別人電腦都裝上vb,請問如何解決,本人特別業余,
另順便問下,寫的程式設定的視窗啟動,關閉所有視窗后程式仍在后臺運行,如何關閉視窗的時候連程式一起關閉
uj5u.com熱心網友回復:
求回復,,,,,,,,,,,,uj5u.com熱心網友回復:
1: 制作安裝包, 而不是拷貝exe, vb自帶打包工具,
2: 確保關閉所有打開的物件, 用End陳述句結束程式
uj5u.com熱心網友回復:
制作完安裝包仍然無法運行,別的電腦提示框由unexpected error變為中文的”未知錯誤“,自己電腦上運行仍然沒有問題uj5u.com熱心網友回復:
估計你的程式代碼中又是有不少的On Error Resume Next吧。
VB6的程式代碼,在沒有進行例外捕獲的情況下,基本上都會最終被VB虛擬機捕獲,報運行例外并指示錯誤詳情。
象你這種“參考了型別中的物件”,如果“對方”的機子上沒有相應的ActiveX DLL、系統中沒有相應的物件型別注冊,
在需要創建物件時、卻無法成功創建,一般都是會報“運行時例外”:
“ActiveX 部件不能創建物件”之類的資訊(基本上是這個“意思”的資訊),
而不是錯得一塌糊涂之后報個“不可預料的例外”。

解決辦法當然是要搞清楚你的這個程式在運行時,
具體會用到哪些DLL(最關鍵的是你參考的那個類別庫對應的dll),
在“對方”的機子上,以管理員身份把它復制到系統目錄中、并注冊。
uj5u.com熱心網友回復:
可能是ado2.8沖突,需要用tlb 現在我的方法是x64,x86電腦編譯2次,或者只是在xp下面編譯uj5u.com熱心網友回復:
在Win64位下開發32位程式本來就是作死的節奏。
uj5u.com熱心網友回復:
把你的工程放到 WinXP 下編譯和打包。uj5u.com熱心網友回復:

胡說!!!
照你這邏輯,那VB6就沒法在64位系統中用了?

但客觀事實是,我在 Win7旗艦版和Win10專業版這兩個64位系統下,
安裝、使用的VB6簡體中文企業版,以及編譯出來的程式,沒有什么問題。
uj5u.com熱心網友回復:
能在 XP 下安裝和使用嗎?uj5u.com熱心網友回復:
在Win64位下開發32位程式本來就是作死的節奏。
胡說!!!
照你這邏輯,那VB6就沒法在64位系統中用了?
但客觀事實是,我在 Win7旗艦版和Win10專業版這兩個64位系統下,
安裝、使用的VB6簡體中文企業版,以及編譯出來的程式,沒有什么問題。
開發VB6程式還勉強能用;
我前些天就碰到一個軸碼農,非要在Win10 64位系統下使用VC+ADO開發32位的Client,連接32位的SQL Server 2005,遇到彈錯誤對話框:“[DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL 安全錯誤。”的。
我勸他挪到WinXP下開發,死活不聽。
uj5u.com熱心網友回復:
各位,我電腦是win7的32位系統,而且全篇沒有用一句 On Error Resume Next,還有,運行出錯的其他電腦有xp也有win7,都是32位的,很簡單的資料庫管理用的程式,這里不能上傳附件不能給各位看看uj5u.com熱心網友回復:





uj5u.com熱心網友回復:
軟體是用來記錄的一個資料庫,連接到公共檔案夾下面一個共享資料庫,想讓局域網內每臺電腦都能記錄和修改,記錄完成后復制到本地計算機進行用來查詢uj5u.com熱心網友回復:
各位,我電腦是win7的32位系統,而且全篇沒有用一句 On Error Resume Next,還有,運行出錯的其他電腦有xp也有win7,都是32位的,很簡單的資料庫管理用的程式,這里不能上傳附件不能給各位看看
你用 Win7 編譯打包,應該可以支持子版本高于等于你的系統版本的作業系統。其他就不好說了,取決于所用的系統檔案。
uj5u.com熱心網友回復:
能在 XP 下安裝和使用嗎?
在Win64位下開發32位程式本來就是作死的節奏。
胡說!!!
照你這邏輯,那VB6就沒法在64位系統中用了?
但客觀事實是,我在 Win7旗艦版和Win10專業版這兩個64位系統下,
安裝、使用的VB6簡體中文企業版,以及編譯出來的程式,沒有什么問題。
我的程式,基本都不需要“安裝”,直接就可運行;
大多數沒有刻意去試,但可以“很有信心”的說:沒有問題。
我有兩個軟體試過:
1就是我的那個DLL鏈接工具,以前在WinXP下編譯的exe,在Win7旗艦版(SP1、64位)中去運行沒有問題;
然后在Win7中編譯的exe,再到WinXP下去運行也沒問題。
2就是另一個工具軟體,在WinXP下編譯的,
在Win7專業版(32位)、旗艦版(64位)、Win10專業版(64位)中運行過,沒有問題;
在Win7中編譯的(32位、64位系統中都分別編譯過),在剛才提到的這4種系統環境中運行都沒問題。
uj5u.com熱心網友回復:
能在 XP 下安裝和使用嗎?
在Win64位下開發32位程式本來就是作死的節奏。
胡說!!!
照你這邏輯,那VB6就沒法在64位系統中用了?
但客觀事實是,我在 Win7旗艦版和Win10專業版這兩個64位系統下,
安裝、使用的VB6簡體中文企業版,以及編譯出來的程式,沒有什么問題。
我的程式,基本都不需要“安裝”,直接就可運行;
大多數沒有刻意去試,但可以“很有信心”的說:沒有問題。
我有兩個軟體試過:
1就是我的那個DLL鏈接工具,以前在WinXP下編譯的exe,在Win7旗艦版(SP1、64位)中去運行沒有問題;
然后在Win7中編譯的exe,再到WinXP下去運行也沒問題。
2就是另一個工具軟體,在WinXP下編譯的,
在Win7專業版(32位)、旗艦版(64位)、Win10專業版(64位)中運行過,沒有問題;
在Win7中編譯的(32位、64位系統中都分別編譯過),在剛才提到的這4種系統環境中運行都沒問題。
我這個程式有沒有可能也不用安裝,有沒有現成的原始碼范例?。。功能很簡單,只要能操作資料庫就行了
uj5u.com熱心網友回復:
作業系統是向后兼容的。因此老版本下開發的軟體可以在新版本系統下用,反之就不一定了。原來我是裝雙系統的,其中一個 Win98 專用來編譯提供給用戶的 VB 工程。現在沒有 Win98 了,但系統檔案還是保留了 Win98 下的版本。生成安裝包之后,用舊版系統檔案覆寫同名檔案,然后用 Support 路徑下的 .bat 批處理檔案重新打包。
各位,我電腦是win7的32位系統,而且全篇沒有用一句 On Error Resume Next,還有,運行出錯的其他電腦有xp也有win7,都是32位的,很簡單的資料庫管理用的程式,這里不能上傳附件不能給各位看看
你用 Win7 編譯打包,應該可以支持子版本高于等于你的系統版本的作業系統。其他就不好說了,取決于所用的系統檔案。
現在問題是不管什么系統都提示一樣的不可預知錯誤,而在我的電腦上運行就沒有問題
uj5u.com熱心網友回復:
你在“其他電腦”上是怎么弄的?安裝或解壓了安裝包?復制了包括所有參考和間接參考的系統檔案在內的所有程式檔案?你光說現象,誰猜得著?
uj5u.com熱心網友回復:
如果你采用了“后期系結”技術(通過陳述句掛接物件),而沒有利用參考選單參考對應的物件系統檔案,即使用打包向導,也可能漏掉相應的系統檔案。uj5u.com熱心網友回復:
你在“其他電腦”上是怎么弄的?安裝或解壓了安裝包?復制了包括所有參考和間接參考的系統檔案在內的所有程式檔案?
你光說現象,誰猜得著?
我用vb自帶的向導制作安裝包,到其他電腦上安裝后運行出現錯誤提示的
您是否方便留個郵箱,我把原始碼發您看看?
uj5u.com熱心網友回復:
說真心話,我真沒用過這玩意兒,有什么作用!uj5u.com熱心網友回復:
直接在出錯的電腦上寫,看會不會報錯。uj5u.com熱心網友回復:
我寫的一個在win7 x64電腦上編繹VB6工程為EXE,,安裝到WinXP下運行出問題。我看是ADO的問題ado2.*這種參考,好像是X64下和32位系統不兼容。我這個問題還沒解決,很煩,每次想要發給客戶,只能開個虛擬機在XP下編繹一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/62411.html
標籤:VB基礎類
