Perry,
Many HP print drivers are poorly coded:
Some HP printer drivers make calls to the Math Co-Processor but don't seem to clean up after themselves. If this cleanup is not performed, applications can crash during or soon after printing.
The MS Visual C runtime's _fpreset() (floating point reset for math co-processor) does that cleanup.
Do the following before and after each printed report:
* use msvcr70.dll (VFP 7, 8) or msvcr71.dll (VFP 9)
declare _fpreset IN msvcr71.dll
=_fpreset()
The msvcr7*.dll files mentioned above are part of the VFP runtime files that you must distribute in order for your VFP executables to work.
Note: You may come across examples of this technique that reference msvcrt20.dll. You do not need to ship this DLL - use the version of the MS Visual C runtime that you're already shipping.
Hope this helps,
Malcolm