>>I have a far better set of tools that I use to handle direct printing to the spooler, bypassing the GDI entirely, and with the capability of of directly assigning files to the spooler, disabling the normal Windows printer behaviors of forcing the printer state to a new page, forcing skip to top of fresh page, etc, which I use, along with a couple of ActiveX controls for handling specialized printer products without invoking or involving the GDI. If there's enough interest in release of a class that directly manipulates the spooler through the API without involving creation of hDCs (it works purely with hPrinters) and bypassing normal Windows/spooler paper handling behavior via StartDocPrinter()/StartPagePrinter()/WritePrinter()/EndPagePrinter()/EndDocPrinter()/AddJob()/ScheduleJob(), I could probably release a version that's in source form, and has been fairly heavily tested, but is reliant on my CLSHeap() memory management class and is not going to be a high priority as far as
>>providing others with support. I've released it to a small group of people who have not reported any problems in a number of environments.
>
>I don't quite understand this issue of Windows ejecting a page. At least, I didn't have any problems here, and I use text-based printing for quite a while. "???" is supposed to send output directly to the printer - not like "COPY FILE". AFAIK, printing
may even start on the middle of the page, if I was careless enough to omit a page break at the end of the previous report.
>
Then I guess you don't need it - ??? still shifts hDC contexts between printer openings (each time you issue a SET PRINTER, or use a Windows printing action like a report, ?, ?? interspersed with ???, which forces a new spool context) and you are quite limited in mixing Windows and non-Windows printer behavior, since VFP natively can only have one printer context in effect at a time, resulting in a page feed whenever a context shift occurs. Also, all VFP printer operations require that the spooler be enabled - you can't set up a printer to print directly to printer without any spool context for the printer as defined in the Windows printer setup dialog. Like I said, I use the API and have no problems related to Win GDI behavior.