アプリケーション実行時等に以下の例外が発生する。 'System.ComponentModel.LicenseException'のハンドルされていない例外がGrapeCity.win.input.v3.0.dllで発生しました。

文書番号 : 17100     文書種別 : 使用方法     最終更新日 : 2005/03/09
文書を印刷する
対象製品
InputMan for .NET 3.0J
詳細
この例外が発生する要因として、ライセンス情報が正しく設定されていないことが考えられます。
次のようなケースでこの問題が発生します。

・プロジェクト内にLicenses.licxファイルが存在しない。
・コントロールを動的に生成している。
・ユーザーコントロール、継承コントロールで使用している。
・クラスライブラリにFormを追加している。


それぞれの場合に応じて次のような処置をすることで、例外が発生しなくなります。

■プロジェクト内にlicenses.licxファイルが存在しない場合

(1) 対象のプロジェクトを開きます。
(2) Visual Studio .NETのソリューションエクスプローラーの [すべてのファイルを表示] ボタンをクリックします。
(3) ソリューションエクスプローラー内にlicenses.licxファイルがないことを確認します。
(4) [デザイン] ページを開いて使用しているInputManのコントロールをFormに貼り付けます。
(5) [ビルド(B)] メニューにある「(プロジェクト名)のリビルド」を実行します。
(6) ソリューションエクスプローラー内にlicenses.licxファイルが作成されたことを確認します。
(7) さきほど貼り付けたコントロールを削除し、プロジェクトを保存します。

■コントロールを動的に生成している場合
製品のコントロールをFormに貼り付けないで、コード中で動的に生成している場合は、製品ヘルプの以下の項目に記載されている手順に従ってlicenses.licxファイルを作成してください。
  製品ヘルプ(InputManNet3.chm)
   -はじめに
     -本製品を使うにあたってのご注意
      -Licenses.licxファイルの組み込み

■InputManをユーザーコントロール内で使用している場合
製品のコントロールを継承して独自のコントロールを作成したり、他のコントロールと組み合わせてユーザーコントロールを作成する場合は、LicenseProvider属性を設定する必要があります。
作成したコントロールにLicenseProvider属性を設定していない場合は、製品のライセンス情報を参照できないため、そのコントロールを使ったアプリケーションを実行したときに、例外が発生します。
コントロールにLicenseProvider属性を設定するには、次のように、クラスの宣言の前にLicenseProvider属性を設定します。

[Visual Basic]
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel

' 継承コントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyControl : Inherits GrapeCity.Win.Input.Edit
  ・・・
End Class

' ユーザーコントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyControl : UserControl
  ・・・
End Class

[C#]
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;

// 継承コントロールの場合
[LicenseProviderAttribute(typeof(LicenseProvider))]
public class MyControl : GrapeCity.Win.Input.Edit
{
  ・・・
}

// ユーザーコントロールの場合
[LicenseProviderAttribute(typeof(LicenseProvider))]
public class MyControl : UserControl
{
  ・・・
}

■クラスライブラリにFormを追加して使用している場合
クラスライブラリのプロジェクトにFormを追加し、そのFormにInputManのコントロールを貼り付けている場合、呼び出し側プロジェクトのlicenses.licxファイルにそのコントロールの情報が組み込まれている必要があります。licenses.licxファイルの作成方法については、上記の「コントロールを動的に生成している場合」をご参照ください。
キーワード
機能・仕様

この文書は、以前は次のFAQ IDで公開されていました : 6766