Nicht-blockierender Druck

Mit 4D v20 R4 haben wir die Verwaltung von Druckaufträgen in 4D deutlich verbessert. 4D kann jetzt mehrere Druckaufträge parallel ausführen, was die Reaktionsfähigkeit Ihrer Anwendungen deutlich erhöht und die Verwaltung gleichzeitiger Druckaufträge erleichtert.

Vor v20 R4 war die 4D Druckwarteschlange blockiert, wenn ein Druckauftrag lief, wurden andere Druckversuche entweder abgelehnt oder blockiert, solange der aktuelle Auftrag nicht abgeschlossen war.

Der berühmte „Drucken“-Dialog sagt Ihnen, dass Sie warten sollen, bis der aktuelle Druckauftrag beendet ist.

Mit v20 R4 und der neuen Funktion „Non-Blocking Printing“ führt 4D alle Druckaufträge gleichzeitig aus. Dadurch wird die Leistung erhöht, wenn mehrere Aufträge laufen. Aber noch wichtiger ist, dass lange Druckaufträge nicht mehr schnellere Druckaufträge blockieren: Wenn Sie alle Ihre Datensätze drucken müssen oder einen komplexen Druckauftrag haben, können andere Prozesse parallel drucken, so dass Sie ohne Einschränkungen weiterarbeiten können. Der dritte große Vorteil dieser Änderung ist, dass die Druckoptionen pro Prozess gehandhabt werden, wodurch unerwünschte Wechselwirkungen vermieden werden, wenn mehrere Prozesse sie ändern.

Das blockierungsfreie Drucken ist bei allen Projekten, die ab v20 R4 erstellt werden, standardmäßig aktiviert. Bei älteren Anwendungen müssen Sie sie in den Kompatibilitätsoptionen der Struktureinstellungen aktivieren.

blank

Die Option „Nicht-blockierendes Drucken“ auf der Registerkarte Kompatibilität

Sobald sie aktiviert ist, können Sie wie gewohnt drucken. Allerdings gibt es eine Änderung, die Sie beachten müssen: Die Druckoptionen sind nicht mehr für alle Prozesse gleich. Wenn also ein Prozess sie über SET PRINT OPTIONS, PRINT SETTINGS oder BLOB to print options ändert, ändert er nicht mehr alle Druckoptionen in Ihrer gesamten Anwendung. Dies erleichtert die Verwaltung der Druckoptionen zwischen den Prozessen, aber wenn Sie an die alte Funktionsweise gewöhnt sind, müssen Sie möglicherweise einige Teile Ihres Codes überarbeiten.

Ich hoffe, dass diese Funktion Ihnen bei der Verwaltung des Druckens in Ihren Anwendungen helfen wird. Wenn Sie Anmerkungen oder Fragen haben, zögern Sie nicht, diese im Forum zu stellen. Wir werden Ihnen gerne helfen!

Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel kam 2017 als Senior Developer (4D Server und Netzwerke) zu 4D. Als Product Owner, der die Freigabe von Apple Silicon verwaltet, ist er für das Schreiben von User Stories und deren Umsetzung in funktionale Spezifikationen zuständig und stellt sicher, dass die Implementierungen der Funktionen den Kundenanforderungen entsprechen. Nicolas ist Absolvent des Institut Supérieur d'Informatique Appliquée (INSIA) und begann seine Karriere als Softwareentwickler im Jahr 2001. Nachdem er mehrere Jahre in Java und C++ programmiert hatte, spezialisierte er sich auf die Client-Server-Entwicklung für Videospielunternehmen. Als Server-Entwickler/Architekt arbeitete er erfolgreich an den Server-Architekturen vieler Spiele (Dofus Arena, Drakerz, Trivial Pursuit Go!).