移行および移行ツールに関して、以下の点にご注意ください。
- プロジェクトに関わるライブラリやユーザーコントロールなど、MultiRowを使用している全てのプロジェクトを移行してください。プロジェクトが分かれている場合には、プロジェクト毎に移行ツールを実行する必要があります。
- 移行ツールが対象とするのは、Visual BasicおよびC#で作成されたプロジェクトに限定されています。
- 旧バージョンのVisual Studioで作成したプロジェクトは、移行ツールでの移行前にVisual Studioの変換ウィザードを実行し、対象となるフレームワークを.NET Framework 3.5以上に変更する必要があります。
- InputManCellを使用しているプロジェクトは、InputMan for Windows Forms 8.0Jの移行ツールでプロジェクトを移行する必要があります。
- PlusPakCellを使用しているプロジェクトは、PlusPak for Windows Forms 8.0Jの移行ツールでプロジェクトを移行する必要があります。
- 不測の事態に備えて、操作対象のファイルをすべて移行ツール以外の方法で予めバックアップしてください。
MultiRowには次の3製品の移行ツールが付属していますが、3製品の移行ツールとも操作手順はほとんど同じです。
- MultiRow for Windows Forms 8.0J
- InputMan for Windows Forms 8.0J
- PlusPak for Windows Forms 8.0J
ここでは、MultiRowの移行ツールを使用して操作手順を説明します。
- Visual Studioを移行する必要がある場合には、最初にVisual Studioの変換ウィザードでプロジェクトを移行します。
- 移行の対象となるプロジェクトがVisual Studioで開かれている場合は、該当プロジェクトを終了してください。
- スタートメニューの[PowerTools MultiRow for Windows Forms 8.0J]-[ツール]から「MultiRow for Windows Forms 8.0J 移行ツール」(または<製品インストールフォルダ>\Tools\MRMigratorにある移行ツール(MultiRowMigrationTool.exe)を起動します。
- 移行ツールを設定します。

[移行の対象]を設定
- 指定したプロジェクトのみ移行する場合は「指定したプロジェクトだけを移行する」を選択します。
- フォルダ内のすべてのプロジェクトを移行する場合は「指定したフォルダ内のプロジェクトをすべて移行する」を選択します。
- 移行するプロジェクトファイルのパスまたはフォルダを指定します。
[移行する製品構成]を設定
- 指定したプロジェクトから自動検出された移行情報が表示されるので、移行情報を確認しチェックボックスをオンにします。
[オプション]を設定
- 必要に応じて、各項目のチェックボックスをオンにします。
- 〈実行〉ボタンをクリックします。移行ツールが、すべての処理を自動的に実行します。
- 移行の完了を知らせるメッセージが表示されたら〈終了〉ボタンをクリックし、移行ツールを終了します。
- Visual Studioでプロジェクトを開きます。
- 必要に応じて「旧バージョンからの変更点」の修正を行います。
- プロジェクトをリビルドします。
InputMan for Windows Forms 5.0J/6.0Jで提供していた日付コントロール(GcDate)は、InputMan for Windows Forms 8.0Jでは日付時刻コントロール(GcDateTime)として提供しています。
これに伴って、InputMan for Windows Forms 8.0Jの移行ツールでは、コードに記載されている"GcDate"を"GcDateTime"に変換しますが、using(Visual Basicの場合はImports)を使用して明示的に名前空間から宣言されていないGcDateについては注意が必要です。
MultiRowでは、以下の例のようにEditingControlShowingイベントなどでセルの編集コントロールとしてGcDateコントロールの処理をしている部分が該当します。
Imports GrapeCity.Win.MultiRow
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan
Imports GrapeCity.Win.Editors
Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As Object, ByVal e As EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
If TypeOf e.Control Is InputManCell.GcDateEditingControl Then
Dim editor As GcDate = DirectCast(e.Control, GcDate)
editor.DropDownCalendar.BackColor = Color.Yellow
End If
End Sub
using GrapeCity.Win.MultiRow;
using InputManCell = GrapeCity.Win.MultiRow.InputMan;
using GrapeCity.Win.Editors;
private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)
{
if (e.Control is InputManCell.GcDateEditingControl)
{
GcDate editor = (GcDate)e.Control;
editor.DropDownCalendar.BackColor = Color.Yellow;
}
}
上記のような場合でも"GcDateTime"に変換する場合、移行ツールの[移行する製品構成]の設定で「名前空間のないGcDateもGcDateTimeに変換する」のチェックボックスをオンにします。このとき、以下についても"GcDateTime"への変換の対象となります。
- "GcDate"という名前のユーザー定義の名前空間、クラス、メソッド、プロパティおよび変数
- 半角文字や改行などで区切られた、コメントや文字列中の"GcDate"
「GrapeCity.Win.Editors.GcDate」と名前空間から定義されている"GcDate"のみを"GcDateTime"に変換する場合には、チェックボックスをオフにします。
この場合、名前空間なしで定義された"GcDate"は"GcDateTime"へ自動的に変換されないため、移行ツールで移行後に手作業での修正が必要となります。
