[ |../../index.htm#lansa/l4wdev06_1025.htm]
現在地:

2.16.4.1 ユーザー定義のイベント、メソッド、およびプロパティの継承

このセクションでは、3つのサンプル・フォームを使用します。

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(#FORMB) Name(#FORMB)
 
evtroutine  handling(#FORMB.OKPressed)
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プロパティは、\[機能\]タブで見ることができます。
!worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32!
GetInfoメソッドは、詳細タブのメソッドタブで見ることができます。
ここでこのフォーム(FRMDETAIL)を他のフォームの祖先として使用すると、ユーザー定義のイベント、メソッド、およびプロパティを定義するためのコードは表示されませんが、イベント、メソッド、およびプロパティは詳細タブかヘルプで表示され、継承するフォームのコードで祖先のフォームと同じように使用できます。
[ !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! |../../index.htm#lansa/l4wdev06_1025.htm]