8.3.1 BEGIN_COMのパラメータ
HELPパラメータを使用してコンポーネントの内容を記述します。250文字が最長です。
フォームのPublicプロパティまたは再利用可能なパーツを使用して、祖先ではprotectedと定義されていたカスタム定義イベント、メソッドまたはプロパティをpublicに定義します。
フォームまたは再利用可能なパーツは、そのフォームまたは再利用可能なパーツのProtectプロパティを使用して、外部からアクセスできないカスタム定義のイベント、メソッド、およびプロパティとして定義することができます。protectedとして定義されたイベント、メソッド、プロパティは、フォームおよび再利用可能なパーツには表示可能で、これらから継承されますが、所有者のフォームまたは再利用可能パーツには表示されません。
継承元のフォームまたは再利用可能なパーツは、継承先のprotectedのイベント、メソッド、またはプロパティをPublicと定義することにより、他のすべてのコンポーネントで表示可能にすることができます。Publicの値リストは、CreateInstanceおよびDestroyInstanceという2つの内部システム値を表示します。これらの値は使用できません。
Publicパラメータを設定する最も簡単な方法は、[詳細]タブの[プロパティ]の表示を使用することです。Publicプロパティ上でクリックすると、protectedに定義されているイベント、メソッド、およびプロパティのリストが表示されます。
このプロパティを使用して、所有者の再利用可能なパーツまたはフォームでカスタム定義のイベント、プロパティまたはメソッドを非表示にします。protectedとして定義されているイベント、メソッド、またはプロパティは、継承元の再利用可能なパーツおよびフォームで表示可能になります。これでprotectedと定義されているイベント、プロパティ、またはメソッドをPublicと定義することによって、所有者で表示可能になります。
Protectパラメータを設定する最も簡単な方法は、[詳細]タブの[プロパティ]を表示することです。Protectプロパティ上でクリックすると、ユーザー定義されているイベント、メソッド、およびプロパティのリストが表示されます。
フォームまたは再利用可能なパーツのPrivateプロパティを使用すると、カスタム定義のイベント、メソッド、またはプロパティを他のフォームまたは再利用可能なパーツで非表示にできます。Privateとして定義されているイベント、メソッド、またはプロパティは、継承元または所有する再利用可能なパーツおよびフォームでは表示されません。
Privateパラメータを設定する最も簡単な方法は、[詳細]タブの[プロパティ]の表示を使用することです。Privateプロパティ上でクリックすると、ユーザー定義されているイベント、メソッド、およびプロパティのリストが表示されます。
コンポーネントの継承およびインスタンス化の方法を制御するためにこのパラメータを使用します。
*FINAL |
コンポーネント・クラスはこれ以上継承できません。 |
*ABSTRACT |
コンポーネント・クラスはインスタンス化できません。このクラスから継承して派生クラスのインスタンスを作成する必要があります。 |
このコンポーネントの省略値のプロパティです。
これは、このコンポーネントに*BY_VALUEパラメータとして参照を渡すと(DEFINE_MAPで)、これが値を取得する省略値のプロパティとして自動的に使用されることを意味しています。
これは、フィールドのデフォルト・プロパティであるValueを使用する場合と似ています。例えば、コードで#SALARYを参照すると、実際には#SALARY.VALUEを参照していることになります。これは、ValueプロパティがSALARYクラスの省略値のプロパティであるためです。
Role パラメータには、多くの機能があります。
*Extends
*Extendsはコンポーネントの祖先クラスのすぐ前に来ます。以下の例では、コンポーネントはVisual LANSAのプリミティブ・フォーム・クラス#Prim_FORMから継承されます。
Begin_Com Role(*EXTENDS
#PRIM_FORM)
End_Com
*Extendsは、プロパティ詳細を見ても分かる通り、祖先プロパティと直接連携していて、詳細で入力することも可能ですし、ソースに直接書き込むこともできます。
*Implements
*Implementを使って、コンポーネントが導入するインターフェイスを指定します。単一のコンポーネントに限定されている*Extendsとは異なり、*Implementsには以下の通り複数の引数があります。
Begin_Com Role(*EXTENDS #PRIM_PANL *implements
#Prim_dc.iMonitorSubject
#Prim_dc.iContextualSubject)
End_Com
*ListFields
*ListFieldsは再利用可能パーツが、ユーザー定義コントロール(UDC)のデザイン要素として使用された時に適用されます。ADD_ENTRYを使ってUDCにリスト・エントリーが作成された時、*ListFieldsの後に続く変数に指定されたフィールドやフィールド・グループは、ADD_ENTRYを含むコンポーネント内の対応するフィールド値で初期化されます。
Begin_Com Role(*EXTENDS *Implements
#Prim_Tile.iTileDesign #PRIM_PANL *ListFields #ListFields)
Group_by
Name(#ListFields) Fields(#Field #Field2
#Field3)
End_Com