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: Brian Cryer 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.