Impression non bloquante

Avec 4D v20 R4, nous avons considérablement amélioré la gestion des tâches d’impression au sein de 4D. 4D peut désormais exécuter plusieurs tâches d’impression en parallèle, ce qui augmente considérablement la réactivité de vos applications tout en facilitant la gestion des impressions simultanés.

Laissez-moi vous en dire plus !

Avant la v20 R4, la file d’attente d’impression de 4D était bloquante : Lorsqu’une impression était en cours, les autres tentatives d’impression étaient soit refusées, soit bloquées tant que celle en cours n’était pas terminée.

La fameuse boîte de dialogue « Printing » qui demande d’attendre que l’impression en cours soit terminée.

Avec la v20 R4 et l’ajout de l’impression non bloquante, 4D exécutera toutes les tâches d’impression simultanément. Tout d’abord, cela augmentera les performances lorsque plusieurs impressions sont en cours d’exécution. Mais surtout, les tâches d’impression longues ne bloqueront plus les tâches d’impression plus rapides : Si vous devez imprimer tous vos dossiers ou si vous avez un travail d’impression complexe, d’autres processus peuvent imprimer en parallèle, ce qui vous permet de continuer à travailler sans limites. Le troisième grand avantage de ce changement est que les options d’impression seront gérées par processus, ce qui évite les interactions indésirables lorsque plusieurs processus les modifient.

L’impression non bloquante est activée par défaut sur tous les projets créés à partir de la version 20 R4. Pour les applications plus anciennes, vous devez l’activer dans les options de compatibilité des paramètres de la structure.

blank

L’option « Non-blocking printing » de l’onglet Compatibilité

Une fois activée, vous pouvez imprimer comme vous en avez l’habitude. Il y a cependant un changement à prendre en compte : Les options d’impression ne sont plus communes à tous les processus. Ainsi, si un processus les modifie via SET PRINT OPTIONS, PRINT SETTINGS ou BLOB to print options, il ne modifiera plus toutes les options d’impression de votre application. Cela facilitera la gestion des options d’impression entre les processus, mais si vous êtes habitué à l’ancien fonctionnement, vous devrez peut-être revoir certaines parties de votre code.

J’espère que cette fonctionnalité vous aidera à gérer l’impression dans vos applications. Si vous avez des remarques ou des questions, n’hésitez pas à les poser sur le forum. Nous serons plus qu’heureux de vous aider !

Nicolas Brachfogel
- Product Owner & Senior Developer - Nicolas Brachfogel a rejoint 4D en 2017 en tant que développeur senior (4D Server et networking) et en tant que Product Owner pour gérer la mise en production d'Apple Silicon. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles, ainsi que de s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients. Diplômé de l'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas a commencé sa carrière en tant que développeur de logiciels en 2001. Après plusieurs années de programmation en Java et C++, il s'est spécialisé dans le développement client-serveur pour des sociétés de jeux vidéo. En tant que développeur/architecte serveur, il a travaillé avec succès sur les architectures serveur de nombreux jeux (Dofus Arena, Drakerz, Trivial Pursuit Go !).