PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13880 00/11/10 14:27:48 RE(4):PB7.0: Windows2000でのOpenPrinter()APIの使用 By Taka
13879 00/11/10 13:12:38 RE(3):PB7.0: Windows2000でのOpenPrinter()APIの使用 By Qoo
13877 00/11/09 20:04:17 RE(2):PB7.0: Windows2000でのOpenPrinter() APIの使用 By M.M
13862 00/11/09 12:52:41 RE(1):PB7.0: Windows2000でのOpenPrinter()APIの使用 By Taka
13848 00/11/08 21:37:04 PB7.0: Windows2000でのOpenPrinter()APIの使用 By miho

カテゴリ:印刷処理
日付:2000年11月09日 20:04 発信者:M.M
題名:RE(2):PB7.0: Windows2000でのOpenPrinter() APIの使用

mihoさん、こんばんは。

>WindowsAPIを使っているのですが、Windows2000上でうまく動きません。

>Windows98上で以下のスクリプトを実行すると、OpenPrinter()は正常に実行されるのですが、
>Windows2000上で同じスクリプトを実行してもエラーになります。(戻り値0)

実験君してみました。
W2Kが手元に無いのでNT4.0WSの環境で試したところ、問題なく動作しました。
以下のスクリプトで、W2Kの動作を試してみてください。


???????????????????????????????????
[検証環境]

OS: NT4.0 SP6a
PB: PB5.0.04

????????????????????????????????????
[外部関数の定義]

function boolean OpenPrinter(ref string lpszPrinter, &
ref ulong lphPrinter, &
ref string lppd) &
library \"winspool.drv\" alias for \"OpenPrinterA\"
function uLong GetLastError() library \"Kernel32.DLL\"

????????????????????????????????????
[スクリプトの記述]

boolean bRet
uLong lRet
string printerDeviceName //プリンタデバイス名
uLong printerHandle //プリンタハンドル
string lstr_printerdefaults //プリンタデフォルト構造体(Nullを指定可)

printerDeviceName = \"\\\\NSVR1\\FUJITSU XL-5700\" //ネットワークプリンタ名
setNull(lstr_printerdefaults)

bRet = OpenPrinter(printerDeviceName, printerHandle, lstr_printerdefaults)
if bRet then
messageBox(\"Information\",\"成功~r~nPrinterHandle = \"+string(printerHandle))
else
lRet = GetLastError()
messageBox(\"Error\",string(lRet))
end if
????????????????????????????????????


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.