4D Blog

Home Product Non-blocking Printing

Non-blocking Printing

January 19, 2024

Product

With 4D v20 R4, we significantly improved the management of print jobs inside 4D. 4D can now run multiple print jobs in parallel, significantly increasing your applications’ reactivity while facilitating the management of concurrent print jobs.

Let me tell you more about it!

Before v20 R4, the 4D printing queue was blocking: When a print job was running, other attempts at printing were either refused or blocked as long as the current job was not finished. 

The famous “Printing” dialog tells you to wait for the current print job to finish.

With v20 R4 and the addition of non-blocking printing, 4D will run all the print jobs simultaneously. First, it will increase the performance when multiple jobs are running. But more importantly, long print jobs will no longer block faster print jobs: If you need to print all your records or have a complex print job, other processes can print in parallel, allowing you to keep working without limits. The third great asset of this change is that printing options will be handled per process, avoiding undesired interactions when multiple processes modify them.

Non-blocking printing is activated by default on all projects created from v20 R4 onwards. For older applications, you need to activate it in the compatibility options of the structure settings.

blank

The “Non-blocking printing” option of the Compatibility tab

Once activated, you can print as you’re used to. Still, there’s one change you need to take into account: Print options are no longer common to all processes. So, if a process modifies them through SET PRINT OPTIONS, PRINT SETTINGS, or BLOB to print options, it will no longer modify all the print options across your application. This will ease the management of print options between processes, but if you are used to the old functioning, you may have to review some parts of your code.

I hope this feature will help you manage printing in your applications. If you have remarks or questions, don’t hesitate to ask them at the forum. We will be more than happy to help you!

Discuss

Tags 21, Compatibility settings, Printing, v20 R4

Latest related posts

  • May 20, 2025

    Automatic Refresh of OEM Build Licenses

  • May 16, 2025

    New class to handle incoming TCP connections

  • April 29, 2025

    Discover your AI-powered writing assistant in 4D Write Pro

Nicolas Brachfogel
Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel joined 4D in 2017 as senior developer (4D Server and networking) and as Product Owner to manage the 4D version on Apple Silicon. He is tasked with the redaction of user stories and functional specifications, as well as the verification that the new features are in line with customers' needs. With a degree from Institut Supérieur d'Informatique Appliquée Paris (INSIA), Nicolas started his career as a software developer in 2001. After many years of development in Java and C++, he specialized himself in client-server development in the video game industry. As a developer/software architect, he worked on the server architectures of many games (Dofus Arena, Drakerz, Trivial Pursuit Go !).
  • Deutsch
  • Français
  • English
  • Português
  • Čeština
  • Español
  • Italiano
  • 日本語

Categories

Browse categories

  • 4D View Pro
  • 4D Write Pro
  • 4D for Mobile
  • Email
  • Development Mode
  • 4D Language
  • ORDA
  • User Interface / GUI
  • Qodly Studio
  • Server
  • Maintenance
  • Deployment
  • 4D Tutorials
  • Generic
  • 4D Summit sessions and other online videos

Tags

4D-Analyzer 4D for Android 4D for iOS 4D NetKit 4D Qodly Pro 4D View Pro 4D Write Pro 20 R8 20 R9 Administration Authentication Build application CI/CD Class Client/Server Code editor Collections Compatibility settings Formula Google Listbox Logs Mail Network Objects ORDA PDF Pictures Preemptive Programming Qodly Studio REST Scalability Security Session Source control Speed Spreadsheet Tutorial UI User Experience v20 vscode Web Word processor

Tags

4D-Analyzer 4D for Android 4D for iOS 4D NetKit 4D Qodly Pro 4D View Pro 4D Write Pro 20 R8 20 R9 Administration Authentication Build application CI/CD Class Client/Server Code editor Collections Compatibility settings Formula Google Listbox Logs Mail Network Objects ORDA PDF Pictures Preemptive Programming Qodly Studio REST Scalability Security Session Source control Speed Spreadsheet Tutorial UI User Experience v20 vscode Web Word processor
Subscribe to 4D Newsletter

© 2025 4D SAS - All rights reserved
Terms & Conditions | Legal Notices | Data Policy | Cookie Policy | Contact us | Write for us


Subscribe to 4D Newsletter

* Your privacy is very important to us. Please click here to view our Policy

Contact us

Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!

* Your privacy is very important to us. Please click here to view our Policy