PRB: Can't Have Fixed Length Strings >32K in 32-bit Windows
Article ID: 129802
Article Last Modified on 11/18/2003
APPLIES TO
- Microsoft Visual Basic 4.0 Standard Edition
- Microsoft Visual Basic 4.0 Professional Edition
- Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
This article was previously published under Q129802
SYMPTOMS
Attempting to create fixed-length strings within a user-defined type in the
32-bit version of Microsoft Visual Basic version 4.0 generates this error:
"Fixed or static data can't be larger than 64K"
CAUSE
Because 32-bit Microsoft Visual Basic uses Unicode to store strings and
Unicode requires two bytes per character in a string, fixed-length strings
take twice as many bytes of storage as the 16-bit versions of Visual Basic.
If you assign or dimension more that 32K characters to a string, the
storage actually exceeds the 64K limit of Visual Basic user-defined types.
RESOLUTION
Larger strings can be assigned to string elements of user-defined types by
using variable-length strings instead of fixed-length strings.
STATUS
This behavior is by design.
Additional query words: double byte character set dbcs
Keywords: kberrmsg kb32bitonly kbprogramming kbprb KB129802