こんにちは。
いつも参考にさせていただいております。
そしてコンポーネントも使用させていただいております。
題名の件ですが特定の条件下においてプレビューが描写されなくなる、
印刷もうまくできなくなる事象が発生しました。
また、エラーダイアログで「プリンタは現在印刷を行っていません」とでます。
なお、当方Delphi11.3を使用していますが
特にバージョン関係なく発生すると思われます。
一応、対処もできたので問題ないかという事と共有という事で報告させていただきます。
◆発生の条件
「Microsoft PrintTo PDF」を使用プリンタに設定し印刷を実行する。
保存のダイアログが表示されたところで「キャンセル」で閉じる。
その後、プレビュー画面を閉じる。
そうしますと次にプレビューを実行した時に何も描写されなくなる。
印刷をしても何も描写されずにまっさらな紙が出てきます。
他のPDFプリンタでは実施していませんがおそらく同様の事象が起こるかと。
◆対処法
TCustomplPrev.BeginDocメソッドにて
FPrintingがTrueの時に「FPrinting = False」をセットする。
※印刷が正常終了していれば次の「BeginDoc」の実行時に
FPrintingは常にFalseになっている事が確認できたため
「if FPrinting then FPrinting = False;」とする事で対処できました。
もし、違うよ!とかこうした方がいいよ!等ありましたらご教授いただければ幸いです。
宜しくお願いします。
|