FIX: GPF When Erase User-Defined Array of Variable Strings (95525)
The information in this article applies to:
- Microsoft Visual Basic Standard Edition for Windows 2.0
This article was previously published under Q95525 SYMPTOMS
If you try to erase an user-defined type array of a variable-length
strings, you may encounter a general protection (GP) fault or
unrecoverable application error (UAE).
WORKAROUND
This problem doesn't occur if you use an array of fixed-length strings
or an array of type Variant in place of the array of variable-length
strings. Therefore, you can work around the problem by using an array
such as the following with a user-defined type and fixed-length
strings.
Type mytype
mystrings(1) As String * 10 'array of fixed length string
End Type
Global test As mytype
You can also work around the problem by using an array of variants instead
of an array of strings, as this example shows:
Type mytype
mystrings(1) As Variant 'array of variant type
End Type
Global test As mytype
A third alternative is to erase the elements in the variable-length string
array manually instead of using the Erase statement, as follows:
Form_Click()
For i% = 0 to UBound(test.mystrings)
test.mystrings(i%) = ""
Next i%
End Sub
STATUS
Microsoft has confirmed this to be a problem in Microsoft Visual Basic
version 2.0 for Windows. This problem was corrected in Microsoft Visual
Basic version 3.0 for Windows.
Modification Type: | Minor | Last Reviewed: | 1/8/2003 |
---|
Keywords: | kbbug KB95525 |
---|
|