當前 Visual Basic為了完成數據類型的賦值,能夠對許多數值進行轉換,而較早的版本則做不到。然而,此錯誤仍可能發生並且有 下列幾種原因和解決方法:
變量或屬性類型錯誤。例如,壹個整型值的變量不能賦給字符串值,除非整個字符串可識別成為整型。
盡量在兼容的數據類型間賦值。例如,Integer 可以被賦給 Long,Single 可以被賦給 Double,而任何類型(除了用戶類型)可以賦給 Variant。
將對象傳給了需要單壹屬性或值的過程。
傳遞正確的單壹屬性或調用給工程的方法。
使用了表達式所要的模塊或工程名稱,例如:
Debug.Print MyModule
指定可以顯示的表達式。
將傳統 Basic 錯誤處理例程與擁有 Error 子類型 (10, vbError) 的 Variant 值混合,例如:
Error CVErr(n)
識別壹個錯誤,要將其映射到 Visual Basic 或用戶錯誤,然後產生錯誤。
CVErr 值不能轉換成 Date。例如:
MyVar = CDate(CVErr(9))
使用 Select Case 語句或壹些類似的結構映射返回的 CVErr。
在運行時,此錯誤通常說明在無效子類型的表達式中使用了 Variant,或 包含數組的 Variant 中出現了 Print # 語句。
可用循環顯示每個元素以打印數組,。
詳細信息,可選取有問題的項目,並按下 F1 鍵。
類型不匹配:期待數組或用戶定義類型
參數或是參數的類型包含數組或用戶定義類型。這個錯誤的原因與解決方法如下所示:
將指定數組或用戶定義類型中的壹個元素、或壹個簡單的變量、文字量、常數的參數傳給壹個期待整個數組或用戶定義類型的參數。
請改變參數或是改變參數定義。
參數指定壹個數組類型或用戶定義類型,但與參數中所定義的不同。
請傳遞壹個其類型是參數所期待的數組,或是改變參數聲明的定義。
詳細信息,請選擇有問題的項目,並按下 F1 鍵