PDA

Ver la Versión Completa : ShellExecute para Print y Esperar


Viet2
24-10-2005, 23:01:09
Buenas colegas....

Estoy retocando un soft que hice hace mas de 5 años... y la verdad que no recuerdo mucho de delphi...

En fin, el sistema debe imprimir varios documentos PDF y yo lo estaba haciendo con un while sobre:


ShellExecute(Handle, 'Print', pchar(FileName) ,nil,'',SW_normal);

PROBLEMA: esta instruccion abre un proceso de Acrobat (si no esta abierto), luego imprime el pdf y queda abierto. Esto genera que se sature el Acrobat con la impresora y pierda impreciones...

Deberia poder ejecutar esto y ESPERAR al estilo WaitForSingleObject, pero el problema de esta funcion es el Acrobat(el proceso) no se cierra al terminar l impresion.

ya mire, sin solucion los hilos :
http://www.clubdelphi.com/foros/showthread.php?t=13712&highlight=shellexecute+esperar
http://www.clubdelphi.com/foros/showthread.php?t=24107&highlight=shellexecute+esperar

Alguna Idea???:confused:

desde ya muchas gracias por el tiempo. y saludos

jachguate
24-10-2005, 23:04:32
A menos que el acrobat notificara enviando algun mensaje que la impresión se efectuó, cosa que no creo que haga, no está tan sencillo controlarlo de una manera no chapuza. Sin embargo, si el único problema es que se están perdiendo impresiones, podrias intentar poner un tiempo de espera en cada iteración del ciclo, de manera que se le de tiempo a acrobat de hacer su tarea. Podes valerte para ello del procedimiento sleep.

Hasta luego.

;)