Fin de Impresion
Hola,
¿Me podeis indicar cómo comprobar si una impresion ha finalizado? Lo digo porque he implementado un form en el que se pueden imprimir 4 reports diferentes. 1. Report 1 2. Report 2 3. Report 3 4. Report 4 Cada uno son checkboxes con lo que se puede seleccionar el Report 1 y el Report 3 por ejemplo. Con este ejemplo, la duda que me surge es ¿cómo saber si la impresion del Report 1 ha finalizado para mandar a imprimir el Report 3? Gracias por vuestra ayuda |
Lamentablemente no nos das una ídea de cómo realizas la impresión... así que hablando de windows en general y de una aplicación con un solo hilo de ejecución, o mas propiamente dicho, donde la impresión se realiza en el hilo principal, se decirte que cuando las rutinas que realizan la impresión retornan, es porque ya la impresión está finalizada, desde el punto de vista del aplicativo. En otras palabras, están en el spooler de windows, que finalmente es quien prioriza, decide que se imprime, que no, y finalmente resuelve las configuraciones y comunicación con la impresora.
En otras palabras. Si la rutina que imprime el Report1 retorna, podes iniciar la impresión del Report3, pues el spooler de windows está en capacidad de procesarla. Hasta luego. ;) |
Implementacion
Pues la impresion la realizo usando QReport. No sé si es a eso lo que te refieres.
Entiendo que sea Windows el que gestione la impresion y la prioridad. Pero me gustaría que no se enviasen todas las ordenes a la vez y que haya un numero elevado de trabajos de impresión pendientes. Es más....¿como detecto que la ipresión del Report1 ha finalizado? ¿Qué variable me indica dicha finalizacion? |
Si a lo que te referís es a saber cuando se ha terminado de imprimir físicamente... podes capturar el mensaje WM_SPOOLERSTATUS, que se envía a todas las aplicaciones cada vez que un trabajo se añade o se retira de la cola de imrpesión.
Aclaro que esto funcionará solamente si:
Hasta luego. ;) |
La franja horaria es GMT +2. Ahora son las 16:10:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi