I had the same problem and it was driving me crazy. I have not tried 'Set print off' but I was able to stop it by doing 'Set print to Set('print',3)'. The down side of this is that in when you come back to the development environment you have to do the 'Set print to' to be able to print again.
It seems to me that VFP should have a more straightforward way of dealing with the printer. I have read all the literature but still dont know for sure which of the following is the correct way:
set print to name (myprintname)
set print to port (myprintport)
In one place in my code ( where i need to send control codes to a dot matrix printer) i have:
clear typeahead
???'' && try and keep from printing a single char to start.
set print to name (thisform.formprinter)
set print to (thisform.tport)
actually print and send codes
set printer to null
eject
set printer to
In this case the set printer to does not issue a form feed, but if I do it anywhere else in the program it does, so I use instead the 'set print to set('print',3)'
This is nuts but it works.
A problem is a problem only as long as it has a possible solution. Lacking that, it becomes a FACT!