2017-01-28 4 views
-1

クリスタルレポートビューアコントロールの代わりにConnectToNewObjectメソッドを使用していますが、総ページ数を取得する方法が見つかりませんでしたか?非ビジュアル結晶レポートオブジェクトの総ページ数を調べるにはどうすればよいですか?PowerBuilderで非ビジュアルクリスタルレポートオブジェクトのページ数を取得する方法

私はレポートを取得し、プリンタに印刷物を送ることができますが、最初のページのみを送信することができます。なぜなら、レポートにいくつのページがあるのか​​分からないからです。ページをプリンタに送信します。どうすればいいのか教えてください。

答えて

0

かなり単純ですが、ページカウントには直接的なプロパティがなかったので恐ろしいことでした。最初にインスタンスまたはグローバル変数を宣言し

あなたは

OLEObject g_ole_crx_report_PageGenerator 
OLEObject g_ole_crx_report_Pages 
OLEObject g_ole_crx_report 
Integer PageGenerator[], PageCount 

、レポートが接続されていると(g_ole_crx_report)

TRY 
    g_ole_crx_report_PageGenerator = g_ole_crx_report.PageEngine.CreatePageGenerator (PageGenerator[]) 
    g_ole_crx_report_Pages = g_ole_crx_report_PageGenerator.Pages 
    PageCount = g_ole_crx_report_Pages.Count 
CATCH (RuntimeError exRuntime) 
END TRY 
すでに取得されていても/機能に以下のコードを入れて、スクリプトで必要

必要に応じて、適切なエラーメッセージを追加してください。私は本当に多くのエラーメッセージが好きではありません。エラーメッセージがエラーそのものより厄介なモバイルアプリによく似ています。たとえば、ユーザーがレポートを取得せずに合計ページ数を取得しようとすると、エラー/情報メッセージの表示は意味をなさない。とにかく、上記のコードは私のために働くと私はそれもあなたのために動作することを願っています。

+0

空の 'catch'を使ってはいけません。少なくとも間違っていたことを記録してください。 – Seki

+0

はい、そうです。ログを生成することをお勧めします。感謝関 – Berka

関連する問題