2.15.1.5 祖先のメソッドの再定義

祖先のフォーム#EOEXAM01には、ファイルメニューの開くダイアログ・ボックスが選択されたときにメッセージ・ボックスを開くメソッド・ルーチンが含まれます。

Mthroutine HandleFileOpen
Use Message_Box_Show (ok Ok Info #Com_Owner.Name 'Ancestor HandleFileOpen method invoked') (#Std_Obj)
Endroutine

 

継承するフォームでファイルメニューの開くオプションが選択されると、完全に同じメッセージが表示されます。

継承するフォームで祖先のメソッドを変更する場合があります。このためには、メソッド・ルーチンと*REDEFINEオプションを使用します。

この動作を見るために、メッセージ・テキストを「Descendant HandleFileOpen method invoked」に変更し、祖先のフォームのHandleFileOpenメソッドをオーバーライドする継承フォーム#EOEXAM02にメソッド・ルーチンを追加します。

MTHROUTINE NAME(HandleFileOpen) OPTIONS(*REDEFINE)
Use Message_Box_Show (ok Ok Info #Com_Self.Name 'Descendant HandleFileOpen method invoked') (#Std_Obj)
Endroutine

 

フォームをコンパイルし、実行します。ファイルメニューから開くオプションを選択します。再定義されたメッセージ・テキストが表示されます。