技術支援 FAQ 文章

以下內容均摘自技術支援 FAQ Visual Basic 常見問題集文章,版權屬台灣微軟所有

使用VB5.0的某些控制項時,出現了「找不到此元件的使用權資訊,您無法在設計環境中使用這項功能」(License information for this component not found. You do not have an appropriate license to use this functionality in the design environment)的錯誤訊息,該如何解決
這個問題產生的可能原因是您可能先安裝了控制項的run-time版本,即使再安裝VB5.0,仍舊無法overwrite這些run-time的控制項。
您可參考下列兩個解決方法—

方法一;
如果產生問題的控制項是在VB5.0光碟片VB5.0\Tools\Controls 的目錄中,請參考光碟中的readme.txt的說明(即前兩題Q/A)。
如果產生問題的控制項不在VB5.0光碟片VB5.0\Tools\Controls的 目錄中,請先一 一unregister 產生問題的控制項,如 regsvr32 /u COMCTL32.OCX,然後執行VB5.0 的安裝程式,”安裝維護”的畫面產生之後,請點選”重新安裝”。若問題依然存在,請參考方法二的解決方式。

方法二;
請至Microsoft Download Server(http://www.microsoft.com/support or ftp://ftp.microsoft.com/softlib)下載 vbc.exe。執行vbc.exe 之後會產生Vbcmpfix.exe及readme.txt,請參考readme.txt 的說明來使用Vbcmpfix.exe。

VB5.0有提供一個utility - VBC.exe修正ActiveX Control無法在design-time使用的問題(請參考上述問題),請問VB6.0是否也有提供這樣的utility?
有的。
您可從 http://support.microsoft.com/download/support/mslfiles/Vb6cli.exe 下載VB6CLI.EXE。執行之後,產生下列檔案:
VBC6.EXE
ENTDAT.DLL
LRNDAT.DLL
PRODAT.DLL
README.TXT
其使用方法及其修正的問題,請參考README.TXT
我的應用程式執行時產生了"The Jet VBA file (VBAJET.dll for 16-bit versions, or VBAJET32.dll for 32-bit versions) failed to initialize when called. Try reinstalling the applications that returned the error" 的錯誤訊息,該如何解決?
此錯誤訊息為DAO或Jet檔案Missing。

可能原因為雖然您是在VB5.0中封裝您的應用程式,但這台機器的DAO/Jet卻為VB6.0的版本。VB6.0的Jet檔案,需要一個額外的檔案-Expsrv.dll,因為VB5.0的安裝程式精靈並不會偵測到Expsrv.dll為Jet的dependency的檔案,因此安裝時會產生此錯誤訊息。

解決的方法為:

  1. 在沒有安裝過VB6.0的機器,安裝VB5.0,使用「應用程式安裝精靈」封裝您的應用程式。
  2. 升級至VB6.0,使用VB6.0的「封裝暨部署精靈」封裝您的應用程式。

註:方法一適用在尚未安裝您的應用程式的client:若client端已產生了此錯誤訊息,您又不想升級至VB6.0來封裝您的應用程式,那麼您需將client端的DAO/Jet取代為VB5.0的版本,即使您已在一個clean的VB5.0環境中封裝您的應用程式,然後在已產生問題的client安裝,由於新版本的Jet/DAO已存在,VB5.0版本的Jet/DAO仍舊無法成功的覆蓋。因此請檢查下列幾個檔案,如有問題的client已存在VB6.0版本的JET/DAT,可手動將下列所提及的檔案取代為VB5.0的版本:

檔案名稱 VB5.0 VB6.0
DAO350.dll 3.50.3602.0 3.51.1608.0
MSJET35.dll 3.50.3602.4 3.51.0623.4
MSRD2x35.dll 3.50.3602.0 3.51.0623.0

DAO350.dll在目錄 \Program Files\Common Files\Microsoft Shared\DAO,其餘兩個檔案都在 \Windows\System (或Windows NT \Winnt\System32)

當在VB6.0開啟VB5.0所製作的專案,如何讓所有的控制項都升級為VB6.0的控制項?
大部分的控制項均能順利的升級為VB6.0的控制項,唯有COMCTL32.OCX, COMCT232.OCX, and MSCHART.OCX三個控制項無法順利升級。請至http://msdn.microsoft.com/vbasic/downloads/download.asp?ID=088 下載ProjUpgd.Exe。此utility能幫您的VB5.0的控制項順利的升級為VB6.0控制項。