Versions Compared

Key

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

...

#Com_Ownerと#Com_Selfの違いを見るために、このコードで2つの再利用可能パーツを作成します。

Button 3

このボタンの再利用可能パーツには、Helloというメッセージを表示するメソッドMethodOneが含まれます。メッセージは、このボタン(Button 3、つまり#Com_Owner)がクリックされると表示されます。

FUNCTION options(*DIRECT)
BEGIN_COM role(*EXTENDS #PRIM_PHBN) CAPTION('Button 3') HEIGHT(24) WIDTH(185)
 
MTHROUTINE name(MethodOne)
USE builtin(MESSAGE_BOX_SHOW) with_args(OK OK INFO '' 'Hello') to_get(#STD_OBJ)
ENDROUTINE
 
EVTROUTINE handling(#COM_OWNER.Click)
INVOKE method(#com_owner.methodone)
ENDROUTINE
 
END_COM  

Button 4

このボタンの再利用可能パーツは、Button 3を継承し、Byeというメッセージを表示するようにメソッドMethodOneを再定義します。

FUNCTION options(*DIRECT)
BEGIN_COM role(*EXTENDS #BUTTON3) CAPTION('Button 4') HEIGHT(26) WIDTH(176)

MTHROUTINE name(MethodOne) options(*redefine)
USE builtin(MESSAGE_BOX_SHOW) with_args(OK OK INFO '' 'Bye') to_get(#STD_OBJ)
ENDROUTINE

END_COM

これらのボタンをフォームに追加し、フォームでコンパイルし、実行します。両方のボタンをクリックします。どちらにも「Hello」というメッセージが表示されます。

...