>Thanks for the tip..I have tried setting _screen.windowstate to 0 before calling .action, then setting it back to 2 after and foxpro immediately takes focus after the action step so that the screen restores automatically. I do not know what else to try. It's driving me and the other programmers here crazy!
I don't have the code anymore (see my company and tagline), so I really can't know exactly how we did it. This is only as much as I remember.
We were using CR 6.0 OCX and called the preview by setting the destination property to 0 (screen), and then just called .oCrystal.print - and it behaved modally, so I don't really remember if we had to employ any tricks to have Fox wait for it. You could try some of the usual tricks, like trying to open the temp table (unless you're using ODBC) via fopen(), to see if CR has closed it or not - but then CR may be just reading it in the beginning and closing it immediately... or you could try to get the hWnd of the CR window.