[Delphi:90342] TPrinterでのプリンター切り替えでうまく動作しない

1,152 views
Skip to first unread message

那須@x21

unread,
Mar 18, 2008, 8:39:39 PM3/18/08
to Del...@ml.users.gr.jp
お世話になります。

Delphiの標準Printerを使用して印刷処理を
行おうとしているのですが、
プリンタの制御がうまくできません。

通常使うプリンターと設定しているレーザープリンターと
納品用のドットプリンタを繋いで
ドットプリンターに出力しています。

処理

 1.TPrinterのキャンバスに描画する。
 2.TプリンターのPrinterindexを通常使用するプリンターから
   ドットプリンタに設定する。
 3.EndDocで印刷実行

問題と成っている現象。
1.レーザープリンターを、通常使用するプリンターにしていると
  ドットプリンタに印字は正常にされるが
  改ページが、A4分(物差しで計った)ぐらい改ページされる

  ドットプリンタの設定は、トラクタフィーだの10インチx6インチで設定しています。

2.ドットプリンターを通常使うプリンターに指定すると
  動作の異常は有りません。

TPrinterに色々設定しているのですが
解決しません。

宜しくお願いします。
┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏
那須
na...@x21.co.jp
┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏


tknak...@brain-tokyo.jp

unread,
Mar 26, 2008, 1:44:08 AM3/26/08
to Del...@ml.users.gr.jp
中村です。具体的なコードが無いので
なんとも言えないのですが、プリンタを切り替えて
印字するには

1) プリンタを切り替える。
2) BeginDoc
3) キャンバスに描く
4) EndDoc

の順番で処理を行うのが正しいはずです。

またプリンタの切り替えは

[Delphi-ML:31510] Re: プリンタを変更したいです。
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=031510

の要領で行ってください。こうしないと、デフォルトプリンタの
プリンタ設定で切り替え先のプリンタが動作してしまうので、
わけわかの結果になります。


Quoting 那須@x21 <na...@x21.co.jp>:

> 処理
>
>  1.TPrinterのキャンバスに描画する。
>  2.TプリンターのPrinterindexを通常使用するプリンターから
>    ドットプリンタに設定する。
>  3.EndDocで印刷実行
>


----------
(株)ブレーン 中村拓男

那須@x21

unread,
Mar 31, 2008, 6:42:14 AM3/31/08
to Del...@ml.users.gr.jp
毎度お世話になります。

中村さん ありがとうございました。

作成した時、[Delphi-ML:31510]を見させて頂いて
コーディングしていたのですが
見直した結果、コーディングミスが有りました。

ありがとうございました。

宜しくお願いします。
┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏
那須
na...@x21.co.jp
┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏

Reply all
Reply to author
Forward
0 new messages