Microsoft KB Archive/177902

{|
 * width="100%"|

PRB: Updated Win32s Incompatible with Visual FoxPro 3.0b under DBCS Windows 3.1

 * }



ID: Q177902

-

The information in this article applies to:


 * Microsoft Visual FoxPro for Windows, version 3.0b

-

SYMPTOMS
The updated Win32s subsystem v.1.30c Pw1118.exe, which can be download from ftp://microsoft.com/softlab/mslfiles/, is not DBCS (Double-Byte Character Set) enabled. Even though you can apply this patch to Double-Byte Character Windows 3.1 (DBCS Windows 3.1, like the Traditional Chinese Windows), you may run into problems if you deal with Double-Byte Characters (DBC) under Visual FoxPro version 3.0b.

CAUSE
Win32s subsystem v.1.30c is not Double-Byte Character Set (DBCS) enabled.

RESOLUTION
Apply the original Win32s version 1.30 that was included with the localized Visual FoxPro version 3.0b CD.

STATUS
This behavior is by design.

Steps to Reproduce Behavior
 Install Visual FoxPro version 3.0b under the Double-Byte Character Set (DBCS) version of Windows 3.1, such as the Chinese Windows version 3.1.  In the FoxPro Command window type the following:       ? at_c(Char1,string1) NOTE: "String1" is a Chinese string and "Char1" is a particular Chinese character. 

Observations

 * If the string is composed of three Chinese Characters with the Input Method Editor (IME) code of "A7A7,""A8A8," and "A9A9" and Char1 is "A8A8," the AT_C command returns a 2. This means that Char1 is at the second numeric position within string1, counting from the leftmost character. This result is correct.
 * If Char1 is replaced with "A7A8," then AT_C returns a 0. This means there is not any matching Chinese Characters within string1. This is also correct.

Observations after Win32s Version 1.3c is installed:

 * After repeating step two as listed in Observations above, AT_C returns a 3 because it incorrectly interprets the Chinese string as six single byte characters rather than three Chinese words.
 * AT_C incorrectly returns a 2 because of the same reason listed above.