掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PDF作成で保存キャンセルするとエラー (ID:25778)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
自己レス StartDoc、StartPage の戻り値が判定できないのが痛すぎる。 プリントジョブがあるか判定する関数を作ってみて、プリンタ名にPDFを含む場合、 チェックするようにしてみたが・・・PDF作成以外に「PDF」を含むプリンタって 世の中にないのだろうか? なければ、いいのだけど。 function existPrintJob: Boolean; var device, driver, port:array[0..127] of Char; deviceMode: THandle; hDevice: THandle; pPrntrInf2 :PPrinterInfo2; cbNeeded: Cardinal; begin deviceMode := 0; aPrinter.GetPrinter(@device, @driver, @port, deviceMode); if deviceMode = 0 then aPrinter.GetPrinter(@device, @driver, @port, deviceMode); OpenPrinter(device, hDevice, nil); if (hDevice <> 0) then begin GetPrinter(hDevice, 2, nil, 0, @cbNeeded); pPrntrInf2 := AllocMem(cbNeeded); try Win32Check(GetPrinter(hDevice, 2, pPrntrInf2, cbNeeded, @cbNeeded)); Result := pPrntrInf2^.cJobs > 0; finally FreeMem(pPrntrInf2); end; ClosePrinter(hDevice); end; end; また、うちの場合だけだろうけど、QuickReportの帳票印刷で発生すると アプリを道連れに死んでしまう。 一個、LightReport使っているっぽいのをダウンロードしてテストしてみたけど、エラーが出た。 普通にのTPrinter を使っていると、Delphi製アプリは、軒並みアウトくさい話だ。 QuickReportがアプリを道連れにする可能性があるので、注意されたし。 QR Ver3.0以降なら、大丈夫なのかもしれないが・・・。 解決としますが、他に情報をお持ちの方は、レスください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.