0 返信 最新の回答 日時: Apr 29, 2010 10:47 PM ユーザー:zanbot3

    SetPrinterAPIで用紙トレイ変更後、AxAcroPDFのprintWithDialogで異常終了する。

    zanbot3

      みなさんのお知恵を拝借したく質問いたしました。

       

      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をプレビューせずに

      印刷を行ないましたがそちらもメモリリークなどの問題は発生しませんでした。

       

      どなたがこの問題についての見識、または解決法などをご存知のかたは

      いらっしゃらないでしょうか?

       

      返信いただければ幸いです。