[WR3.0]ユーザ定義サイズを使用した印刷について

HOME › フォーラム › 旧サポート掲示板 › [WR3.0]ユーザ定義サイズを使用した印刷について

  • このトピックは空です。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #1679
    ユーザ・タック
    ゲスト

    従来のAPIを使用して、15X4.5インチの伝票を発行するアプリケーションを作成しています
    使用するプリンタに指定サイズの用紙がないので、ユーザ定義サイズを使用して、用紙の幅、長さを指定して印刷させようとしています

    WRPSetPaperSize(Handle,WR_PAPER_USER)
    WRPSetPaperWidth(Handle,370.1)
    WRPSetPaperLength(Handle,114.3)

    WRPUpdateInfo(Handle)
    と指定していますが
    WRPSetPaperWidthで「プリンターは指定されたプリンター情報をサポートしていない」と表示されてしまいます
    回避方法として、プリンターのプロパティで、用紙サイズをユーザ定義サイズに変更しておくとエラーは発生しません
    できれば、問題点をアプリケーションで解決させたいのですが、何か方法があれば、教えて頂きたいのですが。宜しくお願い致します

    開発環境
    OS WIN98SE
    言語 VB6SP5
    テストしたプリンタ IBM 5577-K02またはNEC PC-700JH

    #1680
    松嶋@ソフトウィング
    ゲスト

    お世話になっております。

    お知らせ頂いた内容から、プリンタードライバーからの取得し
    た情報により、サポートしていないと判断している様です。

    以下の方法でプリンター情報を取得し、変更を行いたい項目を
    設定した後に再びプリンター情報を設定してテストをお願い致
    します。

     取得
    WRPGetPrinterInfoSize
    WRPGetPrinterInfo

    設定
    WRPSetPrinterInfo

    以上です。宜しくお願い致します。

    #1681
    ユーザ・タック
    ゲスト

    早速の回答ありがとうございます

    教えて頂いた方法で、確認したところうまくいぎませんでした

    手順として、
    1 プリンター情報のサイズの取得
    WRPGetPrinterInfoSize(Handle, lngLen)
    2 バッファを確保
    ReDim bytDEV(lngLen) As Byte
    3 プリンタードライバー初期化用情報の取得
    WRPGetPrinterInfo(.hPrinter, bytDEV(0), lngLen)
    4 プリンタ構造体へのコピー
    MoveMemory wDevMode, bytDEV(0), Len(wDevMode)
    5 プリンタ構造体の変更
    wDevMode.dmPaperSize = WR_PAPER_USER
    6 MoveMemory bytDEV(0), wDevMode, Len(wDevMode)

    7 プリンタードライバー初期化用情報の設定
    WRPSetPrinterInfo(.hPrinter, bytDEV(0))

    テストしましたが思っている結果になりませんでした

    なにか、違っているのか、もう少し具体的に、教えて頂けませんでしょうか。宜しくお願いします。

    #1682
    松嶋@ソフトウィング
    ゲスト

    お世話になっております。

    大変申し訳ありませんでした。最後のUpdateInfoメソッドの呼
    び出しを記述していませんでした。
    処理の最後にUpdateInfoメソッドを呼び出してください。

    以上です。宜しくお願い致します。

    #1683
    ユーザ・タック
    ゲスト

    早速の回答ありがとうございます

    UpdateInfoメソッドを呼び出してもうまくいぎません

    プリンタードライバー初期化用情報の取得
    WRPGetPrinterInfo(.hPrinter, bytDEV(0), lngLen)

    プリンタ構造体へのコピー
    MoveMemory wDevMode, bytDEV(0), Len(wDevMode)

    プリンタ構造体の内容を確認しても、正しい内容がセットされません

    プリンタ構造体へのコピーが正しくできていないと思われます

    プリンタ構造体へのコピーの仕方をもう少し具体的に、教えて頂けませんでしょうか。宜しくお願いします

    #1684
    松嶋@ソフトウィング
    ゲスト

    お世話になります。

    >プリンタ構造体へのコピー
    >MoveMemory wDevMode, bytDEV(0), Len(wDevMode)
    取得したデータをコピーしてる先はVBのユーザー定義型変数で
    すか?ユーザー定義型変数と仮定すると問題があります。プリ
    ンター情報はプリンタードライバーによりサイズが異なります
    ので固定的な変数へVBの関数(ステートメント等)以外を使用
    した場合、アプリケーションが異常終了する場合があります。
    もし、VBで全ての処理を行うのであれば最初に取得したByte型
    の配列を直接変更する方法をおすすめ致します。

    以上です。宜しくお願い致します。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。