VCL フォームを土台にした ActiveX コントロールの生成

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

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

他の ActiveX コントロールとは異なり、アクティブ フォームの場合は、まず設計してから ActiveX ラッパー クラスでラップするわけではありません。 そうではなく、[アクティブ フォーム ウィザード]で空のフォームを生成してから、ウィザードの終了後にフォーム デザイナでこのフォームを設計します。

アクティブ フォームをテストするには、HTML ページを作成し、そこにアクティブ フォームの参照を追加し、ページ上での場所を指定します。 その後、アクティブ フォームを Web ブラウザで表示し実行することができます。 ブラウザ内では、アクティブ フォームはまるでスタンドアロンの Delphi フォームのように動作します。 このアクティブ フォームには、カスタム VCL コントロールも含め、どのような VCL コンポーネントや ActiveX コントロールでも組み込むことができます。

[アクティブ フォーム ウィザード]を起動するには:

  1. 次のいずれかを選択します。
    これにより、インプロセス Active X オブジェクトをホストするために使用できる DLL(Dynamic Link Library)プロジェクトを作成します。
  2. さらに次のいずれかを選択します。

[アクティブ フォーム ウィザード]では、ラップする VCL クラスの名前を指定できません。 これは、アクティブ フォームが常に Vcl.AxCtrls.TActiveForm をベースにしているからです。

CoClass、実装ユニット、ActiveX ライブラリ プロジェクトのデフォルト名は変更できます。 同様に、このウィザードでは、アクティブ フォームにライセンス管理が必要かどうか、バージョン情報を組み込むかどうか、[バージョン情報]ダイアログ ボックスのフォームを追加するかどうかを指定することもできます。

ウィザードを終了すると、以下のものが生成されます。

  • ActiveX ライブラリ プロジェクト ファイル。ActiveX コントロールの起動に必要なコードがここに記述されます。 通常、このファイルを変更することはありません。
  • タイプ ライブラリ。コントロールの CoClass、クライアントに公開されるインターフェイス、そしてこれらが必要とする任意の型定義が、ここで定義されます。タイプ ライブラリに関するさらなる情報については、「タイプ ライブラリの操作: 概要」を参照してください。
  • AxCtrls.TActiveForm から発生したフォーム。このフォームが、フォーム デザイナに表示されるので、それを使用して、クライアントに表示されるアクティブ フォームを視覚的に設計することができます。その実装は、生成された実装ユニットに記述されます。 この実装ユニットの initialization セクションにクラス ファクトリが作成され、Vcl.AxCtrls.TActiveFormControl がこのフォームの ActiveX ラッパーとしてセットアップされます。
  • [バージョン情報]ボックスのフォームとユニット(必要な場合)
  • .LIC ファイル(ライセンス管理を有効にした場合)

この時点で、コントロールを付け加えたり、フォームを自由に設計することができます。

アクティブ フォームを設計し、そのプロジェクトをコンパイルして ActiveX ライブラリ(拡張子は OCX)を作成したら、アクティブ フォームの参照を含むテスト用 HTML ページを作成することができます。 その後、ActiveX 対応の Web ブラウザでプロジェクトをテストできます。 手順については、「VCL フォームに ActiveX アクティブ フォームを作成する」を参照してください。

関連項目