Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FormA - 祖先のコンポーネント

FormAは、保護されたイベントOKPressedとプライベート(隠蔽する)メソッドGetInfoを定義します。

     Begin_Com Protect(OKPressed) Private(GetInfo) Role(*EXTENDS #PRIM_FORM)

FormB -継承するコンポーネント

FormBは、FormAを継承し、OKPressedイベントをPublicにします。

     Begin_Com Public(OKPressed) Role(*EXTENDS #FORMA)

FormC - オーナー・コンポーネント

FormCは、FormBのオーナで、OKPressedイベントを処理するイベント・ルーチンがあります。

     Define_
Com Class
Com Class(#FORMB)
 Name
 Name(#FORMB)
 
evtroutine  handling

evtroutine  handling(#FORMB.OKPressed)

endroutine 
 
endroutine 

フォームのユーザー定義のイベント、プロパティ、およびメソッドを作成する場合は、デフォルトではそのフォームを祖先として使用するその他のフォームから見ることができます。

例えば、フォーム(#FRMDETAIL)には、ユーザー定義のプロパティEmployeeを作成します。

     Define_

...

pty name(Employee)

...

 set(*

...

auto #empno) get(*

...

auto #empno) help('Use the Employee property to pass the employee number')

カスタム定義のイベントとしてOKPressedを作成します。

     define_

...

evt name(OKPressed)

カスタム定義のメソッドとしてGetInfoを作成します。

     mthroutine name(GetInfo)

...

        fetch fields(#detflds) from_file(pslmst) with_key(#empno)

...

     endroutine

OKPressedイベントは、詳細タブのイベントタブで見ることができます。Employeeプロパティは、[機能]タブで見ることができます。

...

Image Added

GetInfoメソッドは、詳細タブのメソッドタブで見ることができます。

ここでこのフォーム(FRMDETAIL)を他のフォームの祖先として使用すると、ユーザー定義のイベント、メソッド、およびプロパティを定義するためのコードは表示されませんが、イベント、メソッド、およびプロパティは詳細タブかヘルプで表示され、継承するフォームのコードで祖先のフォームと同じように使用できます。