Crystal レポートを使用して生成されたドキュメントのバッチをユーザーが印刷できるアプリケーションがあります。印刷されるレポートはバッチによって異なりますが、バッチは常に次の手順を繰り返して処理を進めます: レポートを生成し、プリンターに送信し、画面を更新してユーザーに通知し、変数をリセットします。
1 つの特定のレポートを含むバッチは、そのレポートにプリンター名を割り当てるときに「無効なプリンター」エラーをスローしますが、特定のユーザーに対してのみ、特定のプリンターを使用している場合にのみ発生します。まったく同じデスクトップとまったく同じプリンターを使用すると、多くのユーザーがこのレポートを 100% の確率で正常に印刷できますが、他のユーザーは 100% の確率で失敗します。
表面的には、これは権利の問題を追跡するという単純な問題のように見えますが、深く掘り下げると混乱します。. .
この問題がないユーザーは、すべてのドキュメントをすべてのプリンターで問題なく印刷できます。この問題を抱えているユーザーは、1 つを除くすべてのプリンターで 1 つを除くすべてのドキュメントを印刷できます。他のすべてのドキュメントは、障害が発生しているプリンターで印刷できます。また、障害レポートを他のプリンターで印刷することもできます。
ここで一体何が起こっているのですか?答えは、レポート設定とプリンター アクセスの組み合わせのようですが、論理的な意味はありません。