PowerTools PlusPak for Windows Forms 8.0J
ライセンスの組み込み

作成するアプリケーションに、本製品のライセンスを組み込む方法について説明します。
licenses.licx ファイルの組み込み
設計時にコントロールをフォームに貼り付けるとlicenses.licx ファイルが自動的に作成され、プロジェクトに組み込まれます。しかし、実行時にコントロールを生成する場合には、licenses.licx ファイルは作成されません。

この場合は、該当するすべてのコントロールの情報を含んだlicenses.licx ファイルを作成し、プロジェクトに組み込む必要があります。プロジェクトにlicenses.licx ファイルが組み込まれていない場合は、実行時にコントロールが生成されたときに、ライセンスのエラーを示すダイアログが表示されます。

licenses.licx ファイルの作成とプロジェクトへの組み込みは、以下の手順で行います。
  1. Visual Studio で新しいプロジェクトを開きます。
  2. PlusPak の次のコンポーネントを参照設定します。
    コンポーネント名 バージョン
    GrapeCity.Win.PlusPak 8.0.yyyy.mmdd
    GrapeCity.Win.PlusPak.Calendar(使用する場合のみ) 8.0.yyyy.mmdd
    GrapeCity.Win.FunctionKey(使用する場合のみ) 8.0.yyyy.mmdd
    GrapeCity.PDF(使用する場合のみ) 8.0.yyyy.mmdd
    GrapeCity.Framework.PlusPak 2.3.yyyy.mmdd

    yyyy.mmddは、製品アセンブリバージョンによって変わります。アセンブリバージョンについては、「PlusPak の概要 - アセンブリ」項目をご覧ください。


  3. Visual Basic のプロジェクトの場合は「My Project」フォルダ、C#のプロジェクトの場合は「Properties」フォルダの下に、ファイル名を「licenses.licx」とした空のテキストファイルを作成します。
  4. 作成した「licenses.licx」ファイルを開き、以下の文字列から該当するコントロールに関するものを選んで、licenses.licx に入力します。
    <レイアウト>
    GrapeCity.Win.Containers.GcAccordionItem, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcAccordionContainer, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcApplicationResize, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcComboFrame, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcContainer, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcFlowLayoutContainer, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcHeadingContainer, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcMdiTabControl, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcResize, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcResizePanel, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcTabControl, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcTabPage, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcTableLayoutContainer, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    <UIコントロール>
    GrapeCity.Win.Buttons.GcButton, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Calendar.GcCalendar, GrapeCity.Win.PlusPak.Calendar.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Calculations.GcCalculator, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Buttons.GcCheckBox, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcCheckedGroupBox, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Bars.GcClassicFunctionKey, GrapeCity.Win.FunctionKey.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=aa208f7e417ecbb3
    GrapeCity.Win.Pickers.GcColorPicker, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Buttons.GcDropDownButton, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Pickers.GcFontPicker, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Bars.GcFunctionKey, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcGlobalHook, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcKeyLock, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcMouse, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Buttons.GcRadioButton, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Containers.GcRadioGroupBox, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Buttons.GcSplitButton, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Buttons.GcShapeButton, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Bars.GcTrackBar, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcTouchToolBar, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Components.GcTouchToolBarProvider, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    <情報表示>
    GrapeCity.Win.Components.GcBalloonTip, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Buttons.GcLabel, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    GrapeCity.Win.Bars.GcProgressBar, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    <データ出力>
    GrapeCity.Win.BarCode.GcBarCode, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    <設計支援>
    GrapeCity.Win.Components.GcStylePlus, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243
    <JPAddress for .NET連携コントロール>
    GrapeCity.Win.BarCode.GcPostalBarCode, GrapeCity.Win.PlusPak.v80, Version=8.0.yyyy.mmdd, Culture=neutral,PublicKeyToken=63a9ba12b6923243

    8.0.yyyy.mmddは、製品アセンブリバージョンによって変わります。アセンブリバージョンについては、「PlusPak の概要 - アセンブリ」項目をご覧ください。


  5. licenses.licx を保存します。
継承コントロールとユーザーコントロール
PlusPak のコントロールを継承して独自のコントロールを作成したり、PlusPak のコントロールと他のコントロールを組み合わせてユーザーコントロールを作成する場合は、LicenseProvider 属性をそれらのコントロールに設定してください。これにより、PlusPak のライセンス情報が正しく継承されます。

LicenseProvider 属性を設定しなかった場合は、PlusPak のライセンス情報を参照できないので、作成したコントロールを使ったアプリケーションを実行したときに、ライセンスのエラーを示すダイアログが表示されます。

コントロールにLicenseProvider 属性を設定するには、次のように、クラスの宣言の前にLicenseProvider 属性を設定します。

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
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
{
    ・・・
}
他のアセンブリからの利用
PlusPak をクラスライブラリなどで使用し、他のアセンブリからクラスライブラリを通して再利用する場合、呼び出し元のプロジェクトにも PlusPak のライセンスが必要です。この場合、コントロールを動的に作成した場合と同じように呼び出し元のプロジェクトに licenses.licx ファイルの組み込みを行う必要があります。



複数のプロジェクトを使用している場合、最初に実行されるプロジェクト(アセンブリ)にライセンス情報が必要である点に注意してください。


参照