いつもお世話になっております。
現在[WR3.0]を使用して「送り状」と「宛名ラベル」を同時に印刷するプログラムを作成しております。
「送り状」と「宛名ラベル」のプリンタをそれぞれ別々に指定して2台のプリンターへ印刷したいのですが、1台目のプリンタをCreatePrinterしてPrinterInfoへDEVMODE構造体を引き渡してOpenPrinterした後、2台目のプリンタをCreatePrinterすると、「不正な処理」となって強制終了してしまいます。
1台目のプリンタへ渡すDEVMODE構造体の渡し方がまずくメモリを破壊してしまっている可能性も考えて調べているのですが原因がわかりません。
1フォームに[WR3.0]のOCXコントロールを2つ貼り付けてそれぞれ別々のプリンタを同時にオープンして同時に印刷をしようとしているのですが、こういった使い方は[WR3.0]では許されているのでしょうか?
プリンタのオープンは以下のように記述しています。
‘送り状用プリンタオープン
Set waxPrinter1 = frmPrintOkuriAtena.WR3AXCL1.CreatePrinter
With waxPrinter1
.ClearInfo
.PrinterInfo = bytOkuriPrnDEVMODE
.UpdateInfo
.CancelDlg = False
.OpenPrinter frmPrintOkuriAtena.hWnd
End With
‘宛名ラベル用プリンタオープン
Set waxPrinter2 = frmPrintOkuriAtena.WR3AXCL2.CreatePrinter
With waxPrinter2
.ClearInfo
.PrinterInfo = bytLabelPrnDEVMODE
.UpdateInfo
.CancelDlg = False
.OpenPrinter frmPrintOkuriAtena.hWnd
End With
開発環境は
WIN98SE + VB6.0
です。
宜しくお願い致します。