PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
14891 01/03/29 16:19:23 PB5.0.03: API DeviceCapabilitiesの使用方法 By nagumo

カテゴリ:スクリプトの記述
日付:2001年03月29日 16:19 発信者:nagumo
題名:PB5.0.03: API DeviceCapabilitiesの使用方法

初めて質問致します。
よろしくお願い致します。

データウィンドウで見ると、UNKNOWNxxxと表示されてしまう用紙を
用紙番号が変わっても正しく使用できるように
スクリプトで用紙を設定したいのです。

APIのDeviceCapabilitiesを使用するのは過去ログを拝見してわかりました。
---過去ログより抜粋-----
>>1.DC_PAPERNAMES = 16 で用紙名リストの取得
>>2.DC_PAPERS = 3 で用紙番号を取得
>>3.印刷したい用紙名と取得した用紙名を引き当て、
>>引き当てた用紙番号をPrint.Paper.Sizeに設定

1.DC_PAPERNAMESで用紙名リストを取得するところでワトソン博士が出てしまい、
2、3までできません。
参照渡しする引数がおかしいようです。

下記のように外部関数を宣言して、
FUNCTION Ulong DeviceCapabilitiesA 
(ref string devname,ref string portname,uint index,ref string output[],
ref ulong devmode)
library \"winspool.drv\"

下記のように呼び出しています。
string ls_printer = \"プリンター名\"
string ls_port = \"ポート名\"
ulong  ll_devmode = 0
uint   ls_paper_name[]
uint   li_index = 16
for li_counter = 1 to 64
  ls_paper_name[li_counter] = \"\"
next
ll_rc = DeviceCapabilitiesA(ls_Printer,ls_port,li_index,ls_paper_name,ll_devmode)

正しい宣言方法と使用方法を教えて頂けたら幸いです。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS その他
Browser InternetExplorer5.X

Server SoftWare

OS Windows NT 4.0
DBMS その他
WebServer (記載なし)

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