VCL フォームを土台にした ActiveX フォームの生成

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

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


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

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

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

  1. 次のいずれかを選択します。
    • [ファイル|新規作成|その他...|Delphi プロジェクト|ActiveX|ActiveX ライブラリ
    • [ファイル|新規作成|その他...|C++Builder プロジェクト|ActiveX|ActiveX ライブラリ
    これにより、インプロセス ActiveX オブジェクトのホストとして使用できる DLL(ダイナミック リンク ライブラリ)プロジェクトが作成されます。
  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 アクティブ フォームを作成する」を参照してください。

関連項目