解決VB6.0中不能加載MSCOMCTL.OCX的錯誤提示

VB6.0畢竟是很古老的開發工具了,其對所使用的第三方組件依賴性比較強,例如在打開從其它電腦上拿來的VB6.0的軟件(系統)的工程文件(源代碼)時,常常會遇到"不能加載MSCOMCTL.OCX「的錯誤提示,如圖所示:html

產生這種問題的可能性不少,例如目標電腦上MSCOMCTL.OCX組件的版本與開發該軟件的電腦上的該組件版本不同(可能性很大);目標電腦上沒有該組件;該組件文件已經被破壞或者是不可讀等。下面針對第一種可能性給出解決方案(若是是後面的幾種可能性,則還須要本身到網上下載或者是到原電腦上覆制一個該組件的文件放在指定的文件夾下:32位操做系統放在.\Windows\System32文件夾下,64位操做系統放在.\Windows\SysWOW64文件夾下。而後一樣須要按照下面的方法來操做才能夠)。ide

 

方法一:工具

在上面的對話框當中必定要點擊「是」!而後在下面的對話框當中點擊「肯定」(該對話框就提示了使用MSCOMCTL.OCX組件的窗體名稱,若是後面還有相似的提示,一概點擊「肯定」):開發工具

若是還遇到下面的提示框,一概點擊「肯定」:spa

最後打開了工程(源代碼),咱們能夠看到使用了MSCOMCTL.OCX組件的窗體已經變成了這個模樣:操作系統

而正常狀況下該窗體應該是這個模樣的(此處以可執行文件的運行截圖爲例來對比):3d

由上面兩張圖對比能夠知道,該窗體裏面由於MSCOMCTL.OCX組件的加載錯誤問題,已經讓窗體的「工具欄」和「狀態欄」等控件都不見了,而再看VB6.0裏面的「工具箱」處,發現不少組件的圖標都不見了:htm

這是由於該MSCOMCTL.OCX組件能夠爲VB6.0提供8種控件(上圖中多圈了一個組合框控件了),即:工具欄(Toolbar),狀態欄(StatusBar),圖像列表(ImageList),選項卡(TapStrip),進度條(ProgressBar),樹形框(TreeView),滑動塊(Slider),圖像組合框(ImageCombo),而打開源代碼的時候隨着MSCOMCTL.OCX組件的加載失敗,天然這些控件的圖標也就消失了,對應的窗體裏面那些控件也都變成了空白的PictureBox了。blog

 

怎麼解決這個問題呢?ip

首先在打開的VB6.0工程裏面(即軟件的工程裏面)必定要關閉全部添加了MSCOMCTL.OCX所提供的控件的窗體(包括代碼窗體),不然的話通過下面的步驟保存了之後,那些窗體裏面全部以前出問題的控件就被空白的PictureBox替代了。

而後右鍵點擊「工具箱」的空白處,選擇「部件」,如圖所示:

在打開的窗體裏面點擊「瀏覽」按鈕:

而後在打開的對話框裏面「文件名」處輸入完整的「MSCOMCTL.OCX」(或者是輸入一部分後從下拉列表裏面選擇):

而後點擊「打開」按鈕:

在返回的窗體裏面點擊「肯定」按鈕:

此時會發現「工具箱」內那些丟失的控件又「回來了」:

而後關閉VB6.0開發環境,在彈出的對話框裏面選擇「是」:

而後在再開工程文件(源代碼)的時候,發現問題已經解決了,沒有再彈出加載組件錯誤的提示了!

 

方法二:

以上方法能夠解決絕大多數系統環境下所遇到的加載MSCOMCTL.OCX錯誤的問題,尤爲是當操做系統是Windows7或者XP的時候,能夠說能百分之百的解決問題,可是當操做系統是Windows8(8.1)或者是Windows10的時候,若是在上述方法當中添加MSCOMCTL.OCX控件的時候遇到了卡死,或者是「訪問註冊表錯誤」等的提示,不能繼續使用上面的方法解決問題的時候,就須要使用下面的方法來解決問題了。

首先把已經打開的源代碼工程(VB6.0開發環境)關閉了(注意:關閉的時候千萬不要保存,也就是提示「保存文件的更改」那裏必定要選擇「否」,不然的話那些出問題的窗體可能就會保存了出問題的狀態而沒法挽回了)。

而後右鍵點擊後綴名爲.vbp的工程文件,選擇「打開方式」,而後在打開方式的選項裏面若是有「記事本」的話,則選擇此項,反之的話選擇「選擇默認程序(C)」這一項:

而後在打開的窗體裏面選擇「記事本」,如圖所示(若是推薦的程序處沒有的話,就在「其餘程序」下面尋找):

而後在上圖中去掉「始終使用選擇的程序打開這種文件」的鉤,而後點擊「肯定」按鈕,這樣就使用記事本打開了該工程文件,而後點擊記事本當中的菜單項 編輯——查找:

 

在打開的「查找」對話框裏面輸入「MSCOMCTL.OCX」,而後點擊「查找下一個」按鈕:

此時能夠看到找到的內容左邊是「#2.1#0」的樣子:

把上面字符串裏面的「2.1」修改成「2.0」,而後關閉文檔,保存,如圖所示:

而後再採用一樣的方法修改全部使用了MSCOMCTL.OCX組件提供的控件的窗體裏面的內容:右鍵點擊相關的窗體frm文件,選擇「打開方式」——「記事本」(或者是沒有記事本選項的話,使用「選擇默認程序」指定記事本),如圖所示:

一樣採用記事本里面查找的方法找到「MSCOMCTL.OCX」所在的那一行文本:

此時看到其左邊的內容也是「#2.1#0」:

一樣把「2.1」修改成「2.0」,而後關閉記事本並保存:

而後再打開工程文件(源代碼)看看,這樣問題應該解決了,應該不會再彈出那個「不能加載MSCOMCTL.OCX」的提示了。

 

後續經驗:

①在Windows8(8.1)或者Windows10系統上打開VB6.0的源代碼的時候,常常會遇到彈出不少的錯誤提示的狀況,除了上面所說的那個不能加載MSCOMCTL.OCX的錯誤提示以外,還可能有不能加載其它組件的錯誤提示,此時不用管它,一直點擊「肯定」和「是」,等到徹底打開了源代碼之後,再關閉了VB6.0軟件(千萬不要保存),而後再打開的時候可能就什麼錯誤提示也沒有了,能所有打開了,全部的組件都正常了(這種狀況我已經遇到了不少次,目前還不能解釋是什麼緣由)。

②若是採用了上面的兩種方法之後仍是不能解決問題,建議:檢查在方法二當中,是否是把全部的使用到MSCOMCTL.OCX提供的控件的窗體使用記事本打開之後把裏面的「2.1」都修改成「2.0」了?

③若是進行了上面的全部的操做,問題最終仍是不能解決的話,或者是還有其它組件加載錯誤的提示的話,那多半是安裝的VB6.0有問題(或者是在VB6.0的安裝過程當中被某些諸如360之類的殺毒軟件誤報阻止而致使不少組件安裝失敗),此時能夠先下載一個VB6.0的SP6升級包安裝看看,若是問題依舊,或者是SP6升級包都安裝失敗了,那必定是安裝的VB6.0軟件有問題,卸載了之後重裝VB6.0軟件吧(並且一般安裝成功了SP6升級包之後能夠解決不少除了MSCOMCTL.OCX以外的組件加載錯誤的問題),下面提供VB6.0的SP6升級包的下載地址(百度網盤):http://pan.baidu.com/s/1kTqgUJd

④有的時候很奇怪,剛開始打開源代碼的時候,除了提示MSCOMCTL.OCX加載錯誤以外,還有其它的不少組件加載錯誤的提示,可是解決了MSCOMCTL.OCX加載錯誤的問題之後,其它的組件加載錯誤的提示也跟着消失了(目前還不知道是什麼緣由)。

下面提供VB6.0軟件的安裝方法介紹:https://www.cnblogs.com/rewwensoftware/p/9563117.html

 

注:本博客內全部的文章均爲原創,歡迎轉載,但轉載時請註明「瑞文軟件」的字樣,謝謝!

相關文章
相關標籤/搜索