旧バージョンとの互換性

RapidReportのバージョンアップによって、 旧バージョンとは異なる動作をするようになる場合があるために、問題を生ずる可能性があります。 そこで、新しいバージョンを使っていたとしても、 旧バージョンと同じ動作となるようにするための互換性オプションが用意されています。

互換性オプションは、Report.Compatibilityというクラスのクラス変数として用意されており、 プログラムの実行開始時に一度だけ設定することで、全体に適用されます。

また、独自のプレビュー画面や要素を作成している場合、RapidReportのバージョンアップによって、コンパイルエラー等が発生する場合があります。 この解消方法についても、ここで紹介します。

バージョン4.34以前での、プレビュー/直接印刷での中央寄せ/右寄せ(.NETのみ)

バージョン4.35にて、.NET版のGDIレンダラのテキスト/フィールド要素にて、中央寄せまたは右寄せが指定した場合、 出力する文字列末尾の空白幅も含めて、表示位置が設定されるようになりました。
※以前のバージョンでは、末尾の空白は無視されていました。

4_34_GdiTextNotMeasureTrailingSpaces

4.35以降の.NET版をご利用の場合で、従来通り文字列末尾の空白を無視したい場合は、_4_34_GdiTextNotMeasureTrailingSpacesという変数をtrueとします。

  // C#
  Report.Compatibility._4_34_GdiTextNotMeasureTrailingSpaces = true;
  ' VisualBasic
  Report.Compatibility._4_34_GdiTextNotMeasureTrailingSpaces = True

バージョン4.34以前での、PDF出力での改行して全体表示

バージョン4.35にて、PDF出力でのテキスト/フィールド要素の「改行して全体表示」にて、 単語(半角)の途中、句読点の直前、開きカッコの直後、閉じカッコの直前等での改行ができるだけ避けられるようになりました。

4_34_PdfWrapNoRule

4.35以降をご利用の場合で、従来通りの改行方法としたい場合は、_4_34_PdfWrapNoRuleという変数をtrueとします。

  // C#
  Report.Compatibility._4_34_PdfWrapNoRule = true;
  ' VisualBasic
  Report.Compatibility._4_34_PdfWrapNoRule = True
  // Java
  Report.Compatibility._4_34_PdfWrapNoRule = true;

バージョン4.34以前での改行(.NETのみ)

バージョン4.35にて、.NET版のGDIレンダラでの[縦書き]、PDFレンダラでの[縦書き]および[改行して全体表示]、wsplitメソッド、文字列行分割機能、 での改行位置の判断が文字列中にLF(ラインフィード)が出現するたびに行われるようになりました。
※以前のバージョンではCR(キャリッジリターン)で改行となっていました。

Java版では以前のバージョンからLFで改行する動作となっていたので、この修正によりJava/.NETで動作が統一されました。

4.35以降の.NET版をご利用の場合で、従来通りCRでの改行としたい場合は、_4_34_TextSplitByCrという変数をtrueとします。

  // C#
  Report.Compatibility._4_34_TextSplitByCr = true;
  ' VisualBasic
  Report.Compatibility._4_34_TextSplitByCr = True

バージョン4.32.1以前に作成したGdi要素レンダラの移行(.NETのみ)

バージョン4.33にて、GdiTextクラスの_GetStringFromatメソッドは、引数としてalignment, lineAlignment, formatFlagsを受け取るようになり、 メソッド内でこれらのプロパティを設定した上でStringFormatオブジェクトを返すように仕様変更されました。 これにより、StringFormatへの設定をより柔軟に行えるようになりました。

4.32.1以前ではこのメソッドに引数はなく、単にStringFormatのインスタンスを返すようになっていたため、 バージョンアップを行うとコンパイルエラーが発生します。

4.33のGdiTextクラスでは、_GetStringFormatは以下のように実装されています。 これを参考に、バージョンアップの際はメソッドの修正を行ってください。

    Protected Overridable Function _GetStringFormat(
      alignment As StringAlignment,
      lineAlignment As StringAlignment,
      formatFlags As StringFormatFlags) As StringFormat
        Dim ret As New StringFormat()
        ret.Alignment = alignment
        ret.LineAlignment = lineAlignment
        ret.FormatFlags = formatFlags
        Return ret
    End Function

バージョン4.32.1以前に作成した独自プレビュー画面の移行(.NETのみ)

バージョン4.33にて、PrintPreviewZoomのAutoFit、およびAutoFitWidthプロパティがPrintPreviewに移動しました。 独自のプレビュー画面を用意している場合、これらのプロパティを利用しているならば、コードの書き換えが必要になります。

  // C#
  this.PrintPreviewZoom.AutoFit = true; 
  this.PrintPreview.AutoZoomFit = true; に変更
  
  this.PrintPreviewZoom.AutoFitWidth = true; 
  this.PrintPreview.AutoZoomFitWidth = true; に変更
  ' VisualBasic
  Me.PrintPreviewZoom.AutoFit = True 
  Me.PrintPreview.AutoZoomFit = True に変更
  
  Me.PrintPreviewZoom.AutoFitWidth = True 
  Me.PrintPreview.AutoZoomFitWidth = True に変更

また、Designerファイルでエラーが発生する可能性があります。この場合、エラーが発生している行を手動で削除して下さい。

  // C# XX.Designer.cs
  this.PrintPreviewZoom.AutoFit = false;	削除
  this.PrintPreviewZoom.AutoFitWidth = false;	削除
  ' VisualBasic XX.Designer.vb
  Me.PrintPreviewZoom.AutoFit = False		削除
  Me.PrintPreviewZoom.AutoFitWidth = False	削除

バージョン4.32.1以前のプレビュー画面での見開き表示(.NET版のみ)

.NET版のバージョン4.33以降で、プレビュー画面に見開き表示機能が追加されました。

4.33以降をお使いの場合で、もし見開き表示機能を利用しない場合は、_4_32_PreviewMultiPageDisabledという変数をtrueとします。

  // C#
  Report.Compatibility._4_32_PreviewMultiPageDisabled = true;
  ' VisualBasic
  Report.Compatibility._4_32_PreviewMultiPageDisabled = True

バージョン4.32.1以前の「空行を出力」機能

バージョン4.33以降では、グループの「空行を出力」機能によって出力されたコンテントに、さらに子グループが存在した場合、 その子グループの内容も空行として出力するようになりました。(4.32.1以前では子グループは出力されませんでした)

4_32_BlankSubGroup

※「空行を出力」を設定したグループ以下に、子グループが存在しないならば、この変更による影響はありません。

4.33以降をお使いの場合で、もし4.32.1以前の動作のままとしたい場合は、_4_32_BlankSubGroupという変数をtrueとします。

  // C#
  Report.Compatibility._4_32_BlankSubGroup = true;
  ' VisualBasic
  Report.Compatibility._4_32_BlankSubGroup = True
  // Java
  Report.Compatibility._4_32_BlankSubGroup = true;

なお、このオプションを有効にした場合、クロス集計表の空行部分の要素(罫線など)が出力されなくなります。

バージョン4.31以前のコンテントの[改ページしない]指定(Java版のみ)

.Java版のバージョン4.31以前では、コンテントの[改ページしない]機能の動作に問題がありました。

複数の階層を持つ帳票の場合、ページの終端に配置されるコンテントのうち、 最上位のものだけを改ページ抑止チェックの対象とすべきところを、 全ての階層のコンテントを対象にしていました。 このため、.NET版(レポートデザイナを含む)の動作と、改ページ位置が異なる場合がありました。

4.32以降をお使いの場合で、もし4.31以前の動作のままとしたい場合は、 _4_31_unbreakableという変数をtrueとします。

  // Java
  Report.Compatibility._4_31_unbreakable = true;

バージョン4.15以前のプレビュー画面でのテキスト検索(.NETのみ)

.NET版のバージョン4.16以降で、プレビュー画面にテキスト検索機能が追加されました。

4.16以降をお使いの場合で、もしテキスト検索機能を利用しない場合は、 _4_15_PreviewSearchDisabledという変数をtrueとします。

  // C#
  Report.Compatibility._4_15_PreviewSearchDisabled = true;
  ' VisualBasic
  Report.Compatibility._4_15_PreviewSearchDisabled = True

なお、FmPrintPreviewクラスのSearchEnabledプロパティによって、 テキスト検索機能を有効にするかを個別に設定することもできます。

バージョン4.13.2以前のavrメソッド(.NETのみ)

.NET版のバージョン4.13.2以前では、0件のデータに対してavrメソッドを呼ぶと、 NULLではなく0が返されていました。 4.14以降ではNULLが返されるように修正されました。

4.14以降をお使いの場合で、もし4.13.2以前と同じく0を返すようにしたい場合は、 _4_13_2_AverageZeroという変数をtrueとします。

  // C#
  Report.Compatibility._4_13_2_AverageZero = true;
  ' VisualBasic
  Report.Compatibility._4_13_2_AverageZero = True

Java版では、4.13.2以前でもNULLが返されるので、 同様のオプションはありません。

バージョン4.6以前のPDF出力時の太字

バージョン4.6以前では、PDF出力時に[フォント][太字]にチェックを入れていた場合、 文字が太くなりすぎていました。 4.7以降では適正な太さで出力されます。

4.7以降をお使いの場合で、もし4.6以前の文字太さとしたい場合は _4_6_PdfFontBold という変数をtrueとします。

  // C#
  Report.Compatibility._4_6_PdfFontBold = true;
  ' VisualBasic
  Report.Compatibility._4_6_PdfFontBold = True
  // Java
  Report.Compatibility._4_6_PdfFontBold = true;