VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/06/11(Mon) 13:18
投稿者K.J.K.
Eメール
URL
タイトルRe: Printステートメントにおけるエラー

> VB6.0にて、ローカルプリンタ(FMPR-373)への直接出力を行っているのですが、

まず、Windows95以降で直接出力(本当は直接ではないけど)を行う場合は、
API関数のOpenPrinter、StartDocPrinter、WritePrinterなどを組み合わせて
使うべきです。多少の手間はかかりますが、ファイルシステムを経由しない分
意図せぬ要素が介在する可能性が減ります。

また、本当に直接出力をする必要があるかどうかも検討すべきです。
取り扱いたい機能を持つ適切なドライバ・支援ソフトなどがあれば、そちら
を利用するべきでしょう。

> プリンタがオフラインの場合や紙切れが起こっている時には、下記プログラムの
> printステートメントのところで止まってしまうのです。
> ちなみに、VB2.0で同じプログラムを実行すると、オフライン時にはエラー番号57
> が帰って来ます(デバイスI/Oエラー)。

それはVB側の問題ではなく環境に著しく依存する現象なのでは。まずOSから
して異なるでしょうし、もし同じOS内で動かしているとしても、VB2プログラムは
仮想マシン中で動かされているようなものですし。

> また、VB6.0にてプリンタポートに接続したプリンタの状態を取得する方法は
> どのようにしたらよいのでしょうか。

一応、API関数のGetPrinterなどで規定のものは取得できますが、本当に欲しい情報が
取得できるかはわかりかねます。

プリンタに対して細かい制御ができるのであれば、WriterPrinterでコマンドを
送って、ReadPrinterでその情報を読み取ることになるでしょう。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -