ActiveX コントロールへのライセンス付与

提供: RAD Studio
移動先: 案内検索

ActiveX コントロールの利用:インデックス への移動


ActiveX コントロールのライセンス管理は、設計時のライセンス キーの提供と、実行時に作成されるコントロールに対する動的なライセンス作成のサポートからなります。

設計時ライセンスを提供するために、キーがコントロールに対して作成され、プロジェクトと同じ名前で拡張子が LIC のファイルに格納されます。この .LIC ファイルはプロジェクトに追加されます。ユーザーが、開発環境でコントロールを開くためには、この .LIC ファイルのコピーを持っていなければなりません。[Make Control Licensed]にチェックのついたプロジェクト内の各コントロールには、.LIC ファイル内の個別のキー エントリが作成されます。

実行時ライセンスをサポートするには、ラッパ クラスは 2 つのメソッド GetLicenseStringGetLicenseFilename を実装しなければなりません。これらは、コントロールのライセンス文字列と、LIC ファイルの名前をそれぞれ返します。ホスト アプリケーションが ActiveX コントロールを作成しようとした際、そのコントロールのクラス ファクトリが、これらメソッドを呼び出して、GetLicenseString で返された文字列と、LIC ファイルに格納されている文字列を比較します。

Internet Explorer のための実行時ライセンスは、もう一段階余分に手順が必要です。これは、ユーザーが Web ページの HTML ソース コードを見ることができてしまうことと、ActiveX コントロールは表示される前にユーザーの コンピュータにコピーされてしまうからです。Internet Explorer で使用されるコントロールの実行時ライセンスを作成するには、

まずライセンス パッケージ ファイル(LPK ファイル)を生成し、そのファイルを、コントロールを格納している HTML ページに埋め込みます。LPK ファイルは基本的に、ActiveX コントロールの CLSID とライセンス キーの配列です。

メモ: LPK ファイルを生成するには、ユーティリティ LPK_TOOL.EXE を使用します。これは、Microsoft Web サイト(www.microsoft.com)からダウンロードすることができます。

LPK ファイルを Web ページに埋め込むには、HTML オブジェクトの <OBJECT> と <PARAM> を次のように使用します:

<OBJECT CLASSID="clsid:6980CB99-f75D-84cf-B254-55CA55A69452">
<PARAM NAME="LPKPath" VALUE="ctrllic.lpk">
</OBJECT>

CLSID はオブジェクトをライセンス パッケージとして識別し、PARAM は HTML ページに対してライセンス パッケージ ファイルの相対的な場所を示します。

Internet Explorer がコントロールを含む Web ページを表示しようとする際、LPK ファイルを解析し、ライセンス キーを抽出し、そのライセンス キーがコントロールのライセンス キー(GetLicenseString で返された)と一致する場合、ページ上にそのコントロールを描画します。LPK が Web ページに複数含まれている場合、Internet Explorer は最初のもの以外を無視します。

詳細については、Microsoft Web サイト上の Active X コントロールのライセンス管理についてを参照してください。