アプリケーションを動作させる機会が増えました。して、アプリケーションを実行すると、印刷ダイアログにて、デフォルトプリンタが取得できない。他のアプリでは出来ているから直せと言われたのが発端でした。デフォルトプリンタの取得について調べてみました。Library)を利用しています。いう関数が使用されていました。提供されており非推奨です。使用すると正しくデフォルトプリンタを取得できません。利用する方法がありました。ドキュメントにも相違があり混沌としています。使って書き直しました。して、アプリケーションを実行すると、依然としてローカルのデフォルトプリンタが取得できない現象が発生しました。奇妙な事に、セッションを維持する設定にすると、セッションが保たれている状況では正しくローカルのデフォルトプリンタが取得できるのです。このバグが発生するシナリオは、以下のようなものでした。インスタンス生成時に、ページ設定ダイアログのインスタンスを生成しています。このダイアログ生成時に、デフォルトプリンタの取得も行われていました。内にローカルプリンタの情報が揃っていません。内のデフォルトプリンタが返される。ローカルプリンタのデフォルトプリンタを返すのです。対処法としては、自分が書いたアプリケーションにおいて、ページ設定ダイアログの生成を使われる直前まで先延ばしする事でした。疑似コードは、以下のような感じです。