本項では、ActiveXコントロールを作成する場合のプロジェクトの作成方法、およびプロジェクトとモジュールのプロパティの設定方法について説明します。
新規にプロジェクトを作成する
[ファイル]メニューの[新規プロジェクトの作成]コマンドを選択すると[新規プロジェクトの作成]ダイアログボックスが表示されます。ActiveXコントロールを作成する場合、"ActiveX"を選択します。"ActiveX"を選択すると、あらかじめ、"MyActiveX"というモジュール、"Control1"というフォームが作成されたプロジェクトが作成され、モジュールの種類はDLLとなります。また、モジュールのスクリプト言語は、"OOCOBOL言語仕様"となります。
このサンプルプログラムでは、最初に、モジュール名を"PcobSampleActiveX"、フォーム名を"SelectColorControl"に変更してください。
ポイント
注意
OOCOBOL言語仕様で手続きを記述する場合には、以下のような注意事項があります。詳細は、『COBOL 文法書』を参照してください。
EXTERNALデータを使用することはできません。
フォーム内で共通に使用するデータにGLOBAL句を付加する必要はありません。GLOBAL句を使用すると翻訳エラーとなります。
フォームのPROCEDUREに共通内部プログラムを記述する場合、プログラム定義ではなく、メソッド定義を書かなければなりません。
フォームの共通内部プログラムは、メソッドとして定義されるため、呼び出す場合にはCALL文ではなく、INVOKE SELF"手続き名"[USING 引数]のように、INVOKE文を使わなければなりません。
イベント手続きのデータ領域は、手続きが呼び出されるたびに初期化され、解放されます。
ActiveXコントロールは、モジュールのスクリプト言語を"COBOL85言語仕様"にした場合でも、モジュールの種類をDLLにすることによって作成できます。ただし、以下のような制限がありますので、ActiveXコントロールを作成する場合は、[新規プロジェクトの作成]ダイアログボックスで"ActiveX"を選択し、作成していくことをお勧めします。
モジュールのスクリプト言語が"COBOL85言語仕様"の場合、EXTERNALデータやEXTERNALファイルを利用できますが、ActiveXコントロールの利用者が同じ名前のデータやファイルを使用した場合、実行時エラーやデータ破壊などが発生する可能性があります。したがって、不特定多数の利用者に提供するActiveXコントロールを作成する場合は、EXTERNALデータやEXTERNALファイルを使わないようにしてください。
モジュールのスクリプト言語が"COBOL85言語仕様"の場合、フォームのプロパティ設定ダイアログボックスの[多重生成]をチェックすることはできません。したがって、作成したActiveXコントロールを、同一プロセス内で複数個利用することはできません。
ActiveXコントロールをWeb上で利用する場合は、[新規プロジェクトの作成]ダイアログボックスで"ActiveX"を選択し、作成してください。ActiveXコントロールをWeb上で利用する方法については、「9.6 PowerCOBOLで作成したActiveXコントロールをWeb上で利用する」を参照してください。
モジュールのプロパティを設定する