ライセンスに関する例外やダイアログが表示される

文書番号 : 34637     文書種別 : 使用方法     登録日 : 2012/11/28     最終更新日 : 2013/04/22
文書を印刷する
対象製品
InputMan for Windows Forms 7.0J
詳細
製品版やトライアル版のライセンス認証が正常に行われている状態でも、製品の使用方法によっては、以下のような例外やダイアログが表示されることがあります。

・製品版を使用しているにも関わらず、トライアル版に関するダイアログが表示される
・「[コントロール名]のライセンスが無効です。」の例外(LicenseException)が発生する。
・「[コントロール名]のライセンスが確認できません。」の例外(LicenseException)が発生する。

このような場合、次の原因が考えられます。
・プロジェクトがトライアル版で作成されている。
・プロジェクトにlicenses.licxファイルが存在しない。
・コントロールを動的に生成している。
・継承コントロールやユーザーコントロールで使用している。
・クラスライブラリなどに配置して他のアセンブリから呼び出している

それぞれの場合に応じて次のような処置をすることで、例外やダイアログが表示されなくなります。

1.プロジェクトがトライアル版で作成されている。
(1) 対象のプロジェクトを開きます。
(2) Visual Studioの [ビルド(B)] メニューにある「(プロジェクト名)のリビルド」または「ソリューションのリビルド」を実行します。

2.プロジェクトにlicenses.licxファイルが存在しない。
プロジェクトのMy Projectフォルダ(VB)またはPropertiesフォルダ(C#)内にlicenses.licxファイルが存在しない場合は次の手順で作成します。
また、ファイルが存在していてもプロジェクト内で利用しているコントロールに対応したライセンスの記述がない場合は、製品ヘルプの以下の項目を参照して追加してください。

 - はじめに
  - ライセンスの組み込み
   - Licenses.licxファイルの組み込み

3.コントロールを動的に生成している。
コントロールをFormに貼り付けずに、コード中で動的に生成している場合は、licenses.licxファイルを手動で作成する必要があります。
前項の「2.プロジェクトにlicenses.licxファイルが存在しない。」と同じ手順でlicenses.licxファイルを設定してください。

4.InputManをユーザーコントロール内で使用している場合
製品のコントロールを継承して独自のコントロールを作成したり、他のコントロールと組み合わせてユーザーコントロールを作成する場合は、LicenseProvider属性を設定する必要があります。
コントロールにLicenseProvider属性を設定するには、次のように、クラスの宣言の前にLicenseProvider属性を設定します。

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

' 継承コントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyControl
    ・・・
End Class

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

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

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

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

5.クラスライブラリなどに配置して他のアセンブリから呼び出している
クラスライブラリのプロジェクト内でInputManのコントロールを利用している場合、呼び出し側プロジェクトのlicenses.licxファイルにそのコントロールの情報が組み込まれている必要があります。
「2.プロジェクトにlicenses.licxファイルが存在しない。」と同じ手順で、呼び出し側のプロジェクトにlicenses.licxファイルを設定してください。
関連情報