FIX: C0000005 Fatal Error With TRANSFORM() on Long Strings (221680)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 3.0b
  • Microsoft Visual FoxPro for Windows 5.0
  • Microsoft Visual FoxPro for Windows 5.0a
  • Microsoft Visual FoxPro for Windows 6.0

This article was previously published under Q221680

SYMPTOMS

Using a string argument longer than 255 characters with the TRANSFORM() function causes Visual FoxPro 6.0 to generate the following error:
Fatal error: Exception code=C0000005
Under the same circumstances, Visual FoxPro 5.0 or Visual FoxPro 3.0 terminate without any error or produce an error similar to the following under Windows NT:
An application error has occurred and an application error log is being generated.
vfp.exe
Exception: access violation (0xc0000005),Address 0x0043d731
Under Windows 9x, Visual FoxPro 5.0 or Visual FoxPro 3.0 produce an error similar to the following:

VFP caused an invalid page fault in module KERNEL32.DLL at 0137:bff85fd9

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

This bug was corrected in Visual Studio 6.0 Service Pack 3. For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:

194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why

194295 HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed The fix involves truncating the string argument to 255 characters.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Run the following code from a program (.PRG) file:
    lcText=REPLICATE("Hello World!!!",25)
    ? TRANSFORM(lcText,"")
    You may have to run the program several times to cause the error to occur.

Modification Type:MajorLast Reviewed:5/10/2003
Keywords:kbBug kbfix kbVS600SP1fix kbVS600sp2fix kbVS600sp3fix kbXBase KB221680 kbAudDeveloper