8.7.2 DEFINE_PTYの使用例
例 1
このコマンドは、フォームBのプロパティSTREETNOを定義します。オーナー・フォームでこのプロパティの値を設定する際に、フォームBの#address1フィールドに自動的に値が割り当てられます。オーナー・フォームでこのプロパティの値を検索すると、フォームBの#address1フィールドに設定されている現在の値が返されます。
define_pty name(STREETNO) set(*auto #address1) get(*auto #address1)
これで、オーナー・フォームは、以下のように、プロパティの値を設定することができます。
set COM(#FORMB) STREETNO('58 Surrey St')
または、#ADDRESS1を含む場合は、以下のように、このフィールドの現在の値を渡すことができます。
set COM(#FORMB) STREETNO(#ADDRESS1)
例 2
この例では、PHBNボタンへの参照を取得するプロパティを定義します。
Define_Pty Name(Button1) Get(*Reference #Phbn_1)
すると、オーナー・コンポーネントのButton1プロパティを使用して、Parentプロパティを変更するために、以下のように、#Phbn_1にアクセスできます。
Set Com(#COM_OWNER.Button1) Parent(#GPBX_1)
例 3
この例ではコレクションへの参照を取得します。
Define_Pty Name(TheCollection) Get(*Collection #Collection)
これは、その後、参照を使用してコレクションの中で繰り返され、以下のように、値とコレクション項目のキャプションをリストに追加します。
For Each(#Current) In(#COM_OWNER.TheCollection) Key(#CurrentKey)
Change Field(#STD_COUNT) To('#CurrentKey.Value')
Change Field(#STD_DESCS) To('#Current.Caption')
Add_Entry To_List(#GRID_1)
Endfor