WIL説明書(.NET)
3.1.0
|
WIL 3.0 で作成された Windows フォームアプリケーションを WIL 3.1 へ移行すると、 画像ビューが貼り付けられたフォームをデザイナで開けない現象が発生します。
フォームデザイナで開くと下図のようなエラーが発生してフォームの編集が行えません。
![]() |
注意:
ターゲットフレームワークが一致していない場合も類似した現象が発生します。
関連)ターゲットフレームワークの限定
原因は画像ビューのプロパティの内容をリソースから復元する処理でエラーが発生しているためです。
下図のように、画像ビュー (CFviImageView) の Display プロパティの内容をリソースから復元する際に 右辺値 (WIL 3.0 のインスタンス) を左辺の型 (WIL 3.1 の型) にキャストできない旨の例外が発生しています。
![]() |
▽ 発生したエラー
![]() |
フォームの XML リソースファイル (.resx 拡張子) に埋め込まれた CFviImageView の Display プロパティの内容を一旦読み込んで WIL 3.1 のインスタンスとして再度埋め込みます。 そうすると次回から前述のようなキャスト例外は発生しなくなります。
この作業は C# コンソールアプリケーションで行います。 このアプリケーションのプロジェクトは ユーザサポートセンター に問い合わせて入手してください。 下記ページの作成要領に従って作成することも可能です。
▽ 使用方法:
DisplayConverter.exe [ProjectDir]
変換したいプロジェクトがあるディレクトリをコンソールアプリケーションの引数に指定します。 引数を省略した場合はカレントディレクトリ配下を処理します。
下記のディレクトリ構成のように複数のプロジェクトがある場合、最上位のディレクトリを指定して一括処理することも可能です。 プロジェクトの言語が混在していても問題ありません。
DisplayConverter は、指定されたディレクトリ配下の XML リソースファイル (.resx 拡張子) を探索して、 各リソースファイル内の FVIL.GDI.CFviDisplay のインスタンスを一旦デコードして再度エンコードし直します。 もし、FVIL.GDI.CFviDisplay が含まれていなければリソースファイルの変更は行いません。 変更を行った場合は、変更前のリソースファイル に .old 拡張子を付加してバックアップを残します。
▽ 実行例:
DisplayConverter.exe C:\FAST\Samples
▽ ディレクトリ構成の例:
下記のようなエラーが発生する場合は、本ユーティリティでは変換できません。
▽ 実行時に発生したエラー:
この場合は、フォームを手動で編集する必要があります。
下記ページをご参照ください。
フォームを手動で編集する方法