Griff,
The age old problem of corrupt OLE objects in a General Field... there are a couple of ways you can "deal" with this issue, once and for all. It depends on how "Protected" your .bmp really needs to be. (i.e. is it really necessary to have it in a General Field only accessible by VFP?)
1.) Keep a copy of the .bmp in some "System" location. When you run that part of your code, always have it "load" that image back into the data table's general field before you try to use it to print with. A little "overhead" but, in today's machines it should hardly be a blip, as long as you're not printing it 10,000 times in a print job. You can do this by just forcing it in every time over whatever is in there by getting that record, and issuing an "APPEND GENERAL <field> ... contents <filename>" If it's a single company logo, and to minimize your "code updates" this is probably the easiest permanent fix for it. (Forgive my not remembering the Append General syntax off the top of my head... been a while since I had to do that...)
2.) Alternately, if you have LOTS of images, and LOTS of fields to associate with them (perhaps even in multiple tables) I have found (begrudgingly over several years...) that the best thing to do is abandon the general field for used with image data. For some reason, it just corrupts, corrupts, corrupts. You can instead use a memo field to store the location of your .bmp (or whatever graphic image, I recommend .JPG in reality for both options as it will be MUCH smaller and faster.
This actually solves 2 problems. 1 - Table Bloat from LOTS of General Field image data, and 2 - No OLE corruptions ever. Then, you use an image field in your report, and pass it the contents of the memo field name into the "Image" property, and like magic, you get your graphic, Untainted, and unaltered, still sized or stretched as you define. Much to my dismay, this has proved to me to be the best way. And it keeps your image reference down to a single source... so if you have a logo change, or image update you only have to update the single image file, and everything picks it up from there... (Poor man's inheritance, eh?)
Anyway, hope this helps. I know it's probably not the answer you were hoping for, but it truly will end your headaches in one go...
Best Regards,
Scott
"Everything should be made as simple as possible, and no simpler."
![[hammer] [hammer] [hammer]](/data/assets/smilies/hammer.gif)