Hi Nick,
>Problem is I can only do this if the COM object is a VFP .exe not a .dll. This is obviously rather slow.
Actually, not... Marshalling might even be required with the MTDLL version if the ASP page is executed in a different thread than the COM object. Even than marshalling on the same system is only a fraction of the time needed to get the request across the network and print the report. The important part is that you keep the EXE around and not quit the process after every report is printed, because launching a VFP EXE for the first time is indeed slow.
A better approach, however, might be to have a queue of some sort (MSMQ, table, etc.) where you add a request to a report and a service/VFP exe that prints off the queue. Otherwise the web application would suspend until the report is fully submitted to the printer driver.
--
Christof