Thread: FastReportでプリンタ選択ダイアログを出さない
|
Replies:
7
-
Last Post:
Jan 19, 2018 6:54 AM
Last Post By: 松高 健太郎
|
|
|
Posts:
12
Registered:
6/25/16
|
|
RadStudio10.1でDelphi、FastReportのアプリケーション開発を行なっております。
TfrxReportでプリンタ選択ダイアログを出さずに印刷することは可能でしょうか。
プリンタは画面のコンボボックスで指定させます。
|
|
|
Posts:
147
Registered:
9/11/03
|
|
RadStudio10.1でDelphi、FastReportのアプリケーション開発を行なっております。
TfrxReportでプリンタ選択ダイアログを出さずに印刷することは可能でしょうか。
frxReport1.Print;
を呼ぶ直前に、
frxReport1.PrintOptions.ShowDialog := False;
を指定してみるのは、いかがですか?
|
|
|
|
Posts:
12
Registered:
6/25/16
|
|
igy kk 様、ご返信ありがとうございます。
frxReport1.Print;
を呼ぶ直前に、
frxReport1.PrintOptions.ShowDialog := False;
を指定してみるのは、いかがですか?
上記試して見たところ、以下のエラーが発生してしまいました。
「モジュール'vcl240.bpl'のアドレス 50BE4B53 でアドレス 00000010 に対する読み取り違反が起きました。」
ダイアログは出ずに印刷を実行しようとしてエラーが発生しているようです。
大変恐縮ですが、対応案をご教授いただけますでしょうか。
環境はWindowsXP、Delphi2009、RaveReportで作成したアプリケーションを、Windows10、RAD Studio 10.1 Berlin、FastReportでコンバージョンしております。
|
|
|
|
Posts:
147
Registered:
9/11/03
|
|
大変恐縮ですが、対応案をご教授いただけますでしょうか。
ソースコードは、どのように記述していますか?
また、frxReport1.PrintOptions.ShowDialog := False; を指定しない場合、
印刷ダイアログが出て、正しく印刷はできますか?
|
|
|
|
Posts:
12
Registered:
6/25/16
|
|
早々の返信ありがとうございます。
ソースコードは、どのように記述していますか?
frxReport1.PrintOptions.Printer := SelectPrinter1.text; //プリンタ名の指定 *消しても動きは同じ
frxReport1.PrintOptions.ShowDialog := false;
frxReport1.Print;
また、frxReport1.PrintOptions.ShowDialog := False; を指定しない場合、
印刷ダイアログが出て、正しく印刷はできますか?
画面を開いてすぐに印刷ですと、印刷ダイアログから印刷できません。エラーにはなりません。
プレビューを表示してプレビューから一度印刷をしてからだと、印刷ダイアログがから印刷できます。
|
|
|
|
Posts:
147
Registered:
9/11/03
|
|
また、frxReport1.PrintOptions.ShowDialog := False; を指定しない場合、
印刷ダイアログが出て、正しく印刷はできますか?
画面を開いてすぐに印刷ですと、印刷ダイアログから印刷できません。エラーにはなりません。
まずは、これを解決してみるのが、よいかと思います。
これが解決できたら、
frxReport1.PrintOptions.ShowDialog := false;
を指定することで、印刷ダイアログ表示することなく印刷できるのではないかと思います。
|
|
|
|
Posts:
12
Registered:
6/25/16
|
|
まずは、これを解決してみるのが、よいかと思います。
これが解決できたら、
frxReport1.PrintOptions.ShowDialog := false;
を指定することで、印刷ダイアログ表示することなく印刷できるのではないかと思います。
ありがとうございます。原因を調べてみます。
|
|
|
|
Posts:
12
Registered:
6/25/16
|
|
解決したので、一応報告です。
frxReport1.PrintOptions.Printer := 'プリンタ名';
frxReport1.SelectPrinter;
frxReport1.PrintOptions.ShowDialog := false;
frxReport1.PrepareReport();
frxReport1.Print;
これで、できました。
|
|
|
|
Legend
|
|
Helpful Answer
(5 pts)
|
|
Correct Answer
(10 pts)
|
|
Connect with Us