4D 20 R4 では、4D 内部の印刷ジョブの管理が大幅に改善されました。4D は、複数の印刷ジョブを並行して実行できるようになり、アプリケーションの反応性が格段に向上すると同時に、並行する印刷ジョブの管理が容易になりました。
詳しく説明しましょう!
4D 20 R4 以前は、4D の印刷キューはブロッキングを発生させていました: ある印刷ジョブが実行中のときには、そのジョブが終了しない限り、他の印刷の試みは拒否されるかブロックされました。
現在の印刷ジョブが終了するまで待つように指示する “印刷” ダイアログ
4D 20 R4 でノンブロッキング印刷が追加されたことにより、4D はすべての印刷ジョブを同時に実行します。まず、複数のジョブが実行されているときのパフォーマンスが向上します。しかし、より重要なのは、長時間かかる印刷ジョブが、より高速な印刷ジョブをブロックしなくなったことです。全レコードの印刷や、複雑な印刷ジョブがある場合でも、他のプロセスで並行して印刷できるため、制限なく作業を続けることができます。3つ目の大きな利点は、印刷オプションがプロセスごとに管理されるため、複数のプロセスから印刷オプションを変更する際の相互作用が発生しないことです。
ノンブロッキング印刷は、4D 20 R4 以降に作成されたすべてのプロジェクトでデフォルトで有効になっています。それ以前に作成されたアプリケーションでは、ストラクチャー設定の互換性オプションで有効にする必要があります。
互換性タブの “ノンブロッキング印刷” オプション
有効化しても、今まで通りの印刷ができます。ただし、考慮しなければならない変更が 1つあります: 印刷オプションが全プロセスで共通のものではなくなることです。そのため、特定のプロセスが SET PRINT OPTIONS、PRINT SETTINGS、または BLOB to print options で印刷オプションを変更しても、アプリケーション全体の印刷オプションは変更されません。これにより、プロセス間の印刷オプションの管理が容易になる一方で、以前のふるまいに依存したコードを使用している場合には、コードの一部を見直す必要があるかもしれません。
この機能がアプリケーションの印刷管理に役立つことを願っています。ご指摘やご質問がありましたら、遠慮なくフォーラムでお尋ねください。喜んでお手伝いさせていただきます!