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

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

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

ActiveX コントロールに対するライセンス付与は,設計時にライセンスキーを提供することと,実行時に作成されるコントロールに動的なライセンスの作成をサポートすることです。

設計時にライセンスを提供するため,コントロールのキーが作成されます。キーは,ベース名がプロジェクトと同じで,LIC という拡張子のファイルに保存されます。この .LIC ファイルはプロジェクトに追加されます。キーが設定されたコントロールをユーザーが開発環境で開くには,.LIC ファイルのコピーを所有する必要があります。[設計時モードライセンスを追加]オプションにチェックマークを付けたプロジェクトの中の各コントロールは,.LIC ファイルに個別のキーエントリを持ちます。

実行時ライセンスをサポートするために,ラッパークラスは GetLicenseStringGetLicenseFilename の 2 つのメソッドを実装します。GetLicenseString はコントロールのライセンス文字列を返し,GetLicenseFilename は .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 が返す)コントロールライセンスとが一致すれば,ページ上のコントロールを描画します。Web ページに複数の LPK が含まれている場合,Internet Explorer は,最初の LPK 以外は無視します。

詳細は,Microsoft の Web サイトで「Licensing ActiveX Controls」を探してください。