Cry about...
MS-Windows Troubleshooting


[RFX_Text causes]
Access Violation in program.exe (MSVCRT.DLL)
or DAMAGE: after Normal block


Symptom:

When running an application the error:

Access Violation in program.exe (MSVCRT.DLL)

when running the same application within the debugger the error generated is:

DAMAGE: after Normal block

The last MFC procedure called by the application is RFX_Text.

Cause:

The text supplied by the application to the RFX_Text call is larger than the buffer that is being allowed for it. Arguably this is an application error ...

The third argument to RFX_Text is the maximum length of the text string (the second argument that it takes). The default is 255. The error above is caused when the actual length of the text is greater than this.

This problem exists with Visual Studio 6 with service Pack 5.

Remedy:

  • Specify a suitable maximum length to RFX_Text. Be aware that if this is greater than the size of the underlying database field that an error may later be reported that the text has been truncated. If possible the value used should map to the field size in the database.

and

  • Ensure that the text supplied to RFX_Text never exceeds the maximum value specified, and truncate it if it is too long.


About the author: is a dedicated software developer and webmaster. For his day job he develops websites and desktop applications as well as providing IT services. He moonlights as a technical author and consultant.