PowerTools SPREAD for Windows Forms 10.0J > 制限事項/ライセンスエラー > ライセンスエラーの対処方法 |
ライセンス認証が正しく設定されていない場合、次のようなライセンスエラーが発生します。
製品版を使用中にライセンスエラーが表示される場合、以下のような原因が考えられます。
それぞれの場合に応じて次のような処置をすることで、ライセンスエラーが表示されなくなります。
SPREADを使用するには、インストール後にライセンス認証の手続きが必要です。また、いったん認証したライセンスを別のマシンで使用するには、ライセンス認証解除の手続きが必要です。
ライセンス認証/認証解除の方法については、弊社Webサイトの「ライセンス認証」ページ、または製品に付属の「ライセンス認証マネージャー」のヘルプ(SAManager.chm)をご覧ください。
|
設計時にコントロールをフォームに貼り付けるとlicenses.licxファイルが自動的に作成され、プロジェクトに組み込まれます。しかし、実行時にコントロールを生成する場合には、licenses.licxファイルは作成されません。この場合は以下の手順に従ってlicenses.licxファイルを作成し、プロジェクトに追加してください。
製品のコントロールを継承して独自のコントロールを作成したり、他のコントロールと組み合わせてユーザーコントロールを作成する場合は、LicenseProvider属性を設定する必要があります。作成したコントロールにLicenseProvider属性を設定していない場合は、製品のライセンス情報を参照できないので、そのコントロールを使ったアプリケーションを実行したときに、ライセンスエラーが表示されます。コントロールにLicenseProvider属性を設定するには、次のように、クラスの宣言の前にLicenseProvider属性を設定します。
C# |
コードのコピー
|
---|---|
using System.Drawing; using System.Windows.Forms; using System.ComponentModel; // 継承コントロールの場合 [LicenseProviderAttribute(typeof(LicenseProvider))] public class MyControl : FarPoint.Win.Spread.FpSpread { ・・・ } // ユーザーコントロールの場合 [LicenseProviderAttribute(typeof(LicenseProvider))] public class MyControl : UserControl { ・・・ } |
Visual Basic |
コードのコピー
|
---|---|
Imports System.Drawing Imports System.Windows.Forms Imports System.ComponentModel '' 継承コントロールの場合 <LicenseProviderAttribute(GetType(LicenseProvider))> _ Public Class MyControl Inherits FarPoint.Win.Spread.FpSpread ・・・ End Class '' ユーザーコントロールの場合 <LicenseProviderAttribute(GetType(LicenseProvider))> _ Public Class MyControl Inherits UserControl ・・・ End Class |
SPREADを使用していないアセンブリから、SPREADが使用されているアセンブリを呼び出した場合に発生します。これは製品のライセンス仕様上の正しい処理です。
SPREADをクラスライブラリなどで使用し、他のアセンブリから呼び出して使用する場合は、呼び出し元のプロジェクトにもSPREADのライセンスが必要です。この場合、SPREADのライセンス情報を記述したlicenses.licxファイルを作成し、埋め込みリソースとして呼び出し元のプロジェクトに追加します。licenses.licxファイルに記載する内容については、このページの「Case5 : コントロールを動的に生成している」を参照してください。
当ツールよるモジュール管理を行う場合、特に licenses.licx ファイルの扱いには十分に注意する必要があります。
たとえば 「最新情報の取得」 や 「チェックイン/アウト」 が適切に行われなかった場合、サーバ側とクライアント側の licenses.licx ファイルの同期が取られていない(例:クライアント側の情報が古いままになっている)などの理由から、正しいライセンス情報がプロジェクトに読み込まれず、結果的にライセンスエラーが表示してしまう可能性もあります。つまり、これらは当ツールにおけるユーザー操作に大きく依存する現象であるため、製品側での抜本的な解決策はありません。
このような場合は、たとえばソースコード編集の際には licenses.licx ファイルも同時にチェックイン/アウトする(または常に最新情報の取得を行う)などの運用面を考慮することで常に同期を保ったり、場合によってはあらかじめ本ファイルを管理下から除外する等の対応もご検討ください。なお、当ツールの使用方法に関しては MSDN ライブラリ等の各種参考文献をご覧ください。
UAC(ユーザーアカウント制御)により、製品情報をレジストリから取得できない場合があります。その結果、正しいライセンス情報がプロジェクトに読み込まれず、結果的にライセンスエラーが表示される場合があります。 Visual Studioをしてください。
SPREADがインストールされたVMWareなどの仮想マシンイメージを別のPCにコピーして使用した場合、ライセンス認証(ソフトウェアアクティベーション)の仕組み上、ハードウェア構成が変わったと判断され、ライセンスエラーが表示される場合があります。
この場合は、仮想マシンをコピーしたマシン上で製品のライセンス認証を実行してください。また、使用中のライセンスを別のマシンに移動する場合、既存のマシンでライセンス認証解除の手続き行った上で、別のマシンでライセンス認証の手続きを行うという手順になります。
|