Impresión sin bloqueo

Con 4D v20 R4, hemos mejorado significativamente la gestión de los trabajos de impresión dentro de 4D. 4D ahora puede ejecutar múltiples trabajos de impresión en paralelo, aumentando significativamente la reactividad de sus aplicaciones y facilitando la gestión de trabajos de impresión concurrentes.

Permítame contarle más sobre esto.

Antes de v20 R4, la cola de impresión 4D se bloqueaba: cuando un trabajo de impresión estaba en ejecución, otros intentos de impresión eran rechazados o bloqueados mientras el trabajo actual no hubiera terminado.

El famoso diálogo «Imprimiendo» le dice que espere a que termine el trabajo de impresión actual.

Con v20 R4 y la adición de la impresión sin bloqueo, 4D ejecutará todos los trabajos de impresión simultáneamente. En primer lugar, aumentará el rendimiento cuando se estén ejecutando múltiples trabajos. Pero lo que es más importante, los trabajos de impresión largos ya no bloquearán los trabajos de impresión más rápidos: si necesita imprimir todos sus registros o tiene un trabajo de impresión complejo, otros procesos podrán imprimir en paralelo, permitiéndole seguir trabajando sin límites. La tercera gran ventaja de este cambio es que las opciones de impresión se gestionarán por proceso, evitando interacciones no deseadas cuando varios procesos las modifiquen.

La impresión sin bloqueo está activada por defecto en todos los proyectos creados a partir de v20 R4. Para aplicaciones más antiguas, es necesario activarla en las opciones de compatibilidad de los ajustes de estructura.

blank

La opción «Impresión sin bloqueo» de la pestaña Compatibilidad

Una vez activada, puede imprimir como acostumbra. Aun así, hay un cambio que debe tener en cuenta: las opciones de impresión ya no son comunes a todos los procesos. Así, si un proceso las modifica a través de SET PRINT OPTIONS, PRINT SETTINGS, o BLOB to print options, ya no modificará todas las opciones de impresión de su aplicación. Esto facilitará la gestión de las opciones de impresión entre procesos, pero si está acostumbrado al antiguo funcionamiento, puede que tenga que revisar algunas partes de su código.

Espero que esta función le ayude a gestionar la impresión en sus aplicaciones. Si tiene observaciones o preguntas, no dude en hacerlas en el foro. Estaremos encantados de ayudarlo.

Nicolas Brachfogel
• Propietario de producto y Desarrollador Senior - Nicolas Brachfogel se unió a 4D en 2017 como Senior Developer (4D Server y networking). Como Product Owner para gestionar el lanzamiento de Apple Silicon, está a cargo de escribir historias de usuario y traducirlas en especificaciones funcionales, así como asegurarse de que las implementaciones de las funcionalidades satisfagan las necesidades del cliente. Diplomado por el Instituto Superior de Informática Aplicada (INSIA), Nicolas comenzó su carrera como desarrollador de software en 2001. Tras varios años codificando en Java y C++, pasó a especializarse en el desarrollo cliente-servidor para empresas de videojuegos. Como desarrollador/arquitecto de servidores, trabajó con éxito en las arquitecturas de servidores de muchos juegos (Dofus Arena, Drakerz, Trivial Pursuit Go!).