BUG: Type Mismatch Error Erasing a Fixed-Size Array in UDT
ID: Q193019
|
The information in this article applies to:
-
Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, version 6.0
SYMPTOMS
When you use the Erase Statement to empty a fixed-size array in a variant
UDT, the following error occurs:
"Runtime Error 13: Type Mismatch".
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products
listed at the beginning of this article.
MORE INFORMATIONSteps to Reproduce Behavior
- Create a new ActiveX EXE project. Class1 is created by default.
- Paste the following code in Class1:
Type test
x(5) As Integer
End Type
- Add a standard module to the project by selecting "Add Module" from the
"Project" menu.
- Paste the following code in Module1:
Sub main()
Dim x As test
x.x(0) = 5
MsgBox x.x(0)
Erase x.x
MsgBox x.x(0)
Dim y As Variant
y = x
y.x(0) = 5
MsgBox y.x(0)
Erase y.x 'fails
MsgBox y.x(0)
End Sub
- Open the Immediate Window by selecting it from the View menu.
- In the Immediate Window, type "main" (without quotes) and press the
ENTER key. After the message boxes "5","0","5" are displayed, the above
error will occur on the "Erase y.x" line, instead of emptying the array
elements.
Additional query words:
kbdss kbDSupport kbVBp kbVBp600bug kbNoKeyWord
Keywords : kbGrpVB
Version : WINDOWS:6.0
Platform : WINDOWS
Issue type : kbbug
|