みなさんのお知恵を拝借したく質問いたしました。
VB.NET2008、Adobe Reader 9.1.1にて
PDFをプレビューするアプリケーションを作成しているのですが
印刷する帳票によっては手差しトレイから印刷したいとの要望があり
APIのSetPrinterメソッドを使用して用紙トレイの変更を実装したのですが
printWithDialogで異常終了してしまいます。
FormクラスにAxAcroPDFコントロールを貼り付け
PDFビューワーを表示しています。
表示後ビューワーのツールバーのプリンタアイコンを押下すると
1度目は正常に印刷ダイアログが表示されるのですが
一度ビューワーを貼り付けたフォームをとじて
再度、ビューワーを貼り付けたフォームを開き、
プリンタアイコンを押下して印刷ダイアログを表示しようとすると
エラーがキャッチできないシステムエラーとなって
アプリケーションが終了してしまいます。
このときイベントビューアのログにはrpcrt4.dll、またはntdll.dllでの
Application Errorが出力されています。
APIの呼び出しが正常でないのかと思い、
AxAcroPDFを継承してprintWithDialogメソッドをオーバーライドし
.NET FrameWorkのPrintDialogを同じ条件にて表示させましたが
こちらは異常終了することはありませんでした。
また、Processクラスを使用して同じ条件にてPDFをプレビューせずに
印刷を行ないましたがそちらもメモリリークなどの問題は発生しませんでした。
どなたがこの問題についての見識、または解決法などをご存知のかたは
いらっしゃらないでしょうか?
返信いただければ幸いです。