HOME › フォーラム › 製品サポート › WingReport v3.1 › 例外について
-
投稿者投稿
-
maruyama
ゲストはじめまして。maruyamaです。今、visual studio 2022 C++から、wingreport3.1(最新バージョン)を利用して印刷を行おうとしています。環境設定は、path=c:/XXXX/wingreport/x86、DLLを、アプリ起動直下に、WRCTRL31.dllとWRENGN31.dllを配置して、OS:windows11 multi-session、ビルドは、debug/Win32です。このアプリからwingreportを起動したのですが、例外が2件、発生しました。内容は、「ウィングレポート エラーメッセージ」”指定されたレポートハンドルが無効です。コード=08008”が、続けて2回表示されました。印刷としては、PDFファイルへ出力して印刷されているようです。この、例外の発生原因を、教えてください。宜しくお願い致します。
support
モデレーターお世話になっております。ソフトウィングサポート係です。
日頃より弊社製品をご利用いただきまして、誠にありがとうございます。
エラーコード「08008」を伴う例外につきましては、WingReport v2.0にて不正なレポートハンドルが指定された場合に発生いたします。
お手数をおかけいたしますが、WingReport v3.1のモジュールを使用してビルドが行われ、
アプリケーション動作時においても同モジュールが正常に読み込まれているか、今一度ご確認いただけますでしょうか。以上、よろしくお願い申し上げます。
maruyama
ゲスト返信して頂き、ありがとうございます。再度、確認してみます。宜しくお願い致します。
maruyama
ゲストWingReportの製品サポートをして頂き、ありがとうございました。別の質問があります。WingReport v2.0からv3.1へバージョンアップしました。その際に、Wingrprt.hを削除し、WrCifApi.hを、v2.0からv3.1へ変更し、「HWREPORT」オブジェクトハンドルもv2.0からv3.1に変更になりましたが、レポート・オブジェクト・ハンドルとして何か相違は、あるのですか。宜しくお願い致します。
support
モデレーターお世話になっております。ソフトウィングサポート係です。
回答が大変遅くなりましたことをお詫び申し上げます。WingReport v2.0および v3.1につきまして、
上記バージョン間での製品、プログラムレベルでの互換性はございません。お手数をおかけいたしますが、v3.1のリファレンスヘルプをご参照いただき、
v3.1に準拠する形でコーディングを行っていただく必要がございます。なお、v2.0にて作成したレポートファイルに関しましては、
v3.1に付属のツール(WrConv.exe)にて変換が可能となっております。以上、よろしくお願い申し上げます。
maruyama
ゲスト回答を頂きありがとうございます。今後の作業について検討させていただきます。宜しくお願い致します。
maruyama
ゲスト前回は、サポートをして頂きありがとうございます。今回は、別の質問を、お願い致します。v3.1に、WREXIT()関数があります。この関数は、どういうときに使うのでしょうか。プリンタハンドルの取得前、WRRLoadReport()関数のハンドル取得前で、例外が発生してスローで処理が例外処理へ行きます。その後で、ハンドルが取得されていない状態で、WREXIT()関数を使用すると例外が発生してしまいます。引数には、初期化されていない変数を渡しているだけです。使い方が正しいのかもわかりません。どういう使い方が正しいのか、サンプルソースがありましたら、もらえないでしょうか。宜しくお願い致します。
maruyama
ゲストいつも、返信を頂きありがとうございます。別の質問を追加させて頂きます。WRInit()を実行後に、最後にWRExit()を実行していると思いますが、正常処理では、最後に、1度、WRExit()を呼び出すので問題はないと思うのですが、異常が発生した場合、2度、WRExit()を実行してしまうルートが発生してしまい、2度目のWREXit()では、戻り値(false(0))を返しています。本来、正常終了したWREXit()は戻り値(true(0以外))を返すと考えています。2度、WREXit()を実行しているからでしょうか。宜しくお願い致します。
support
モデレーターmaruyama様
お世話になっております。ソフトウィングサポート係です。
回答が大変遅くなりましたことをお詫び申し上げます。
#2744
WREXIT()関数は印刷エンジンの終了処理を行う関数となります。
印刷処理終了後、印刷エンジンを開放する際にご利用ください。
詳しくはリファレンスにて記載が御座いますのでご一読下さい。
また、C++APIを使用したサンプルプロジェクトをご用意致しました。
掲示板での添付が出来かねますので大変お手数ですが以下のメールアドレス宛に
メールを頂いてもよろしいでしょうか
support@swg.co.jp#2747
WREXIT()関数を2回呼び出しを行った際、2回目は既に開放済の印刷エンジンを解放しようとする為
異常終了となります。WREXIT()関数は印刷エンジン解放前の一度のみ実行して頂きますようお願い致します。maruyama
ゲスト返信を頂きありがとうございます。今回、頂けるメールに添付するファイル(リファレンス、サンプルプロジェクト)の大きさは、どれくらいですか。宜しくお願い致します。
support
モデレーターお世話になっております。ソフトウィングサポート係です。
サンプルプロジェクトはzip形式で圧縮したファイルの添付を予定しております。
サンプルプロジェクトのサイズは下記の通りとなります。
圧縮時のサイズ : 32.8 MB
展開後のサイズ : 129 MB以上、よろしくお願い申し上げます。
-
投稿者投稿