Tips

フォームイベントをCase文で処理する理由

日付2010/03/29
ID76023 (英語原文参照)
バージョン11
プラットフォームMac & Win

一部のデベロッパは、プロパティリストで必要なフォームイベントだけを有効にし、フォームメソッドおよびオブジェクトメソッド側ではイベントのチェックを省略するスタイルを取っているようです。そのようなコードは、後にイベントを追加する必要が生じたとき、あるいは一部のイベントを無効にし損ねた場合など、潜在的な問題を抱えることになるかもしれません。むしろ、どんなときもフォームメソッドやオブジェクトメソッドはCase文にすることを習慣にしていれば、そのような問題を回避することができます。

C_LONGINT($LFormEvent)
$LFormEvent:=Form event

Case of 
   :($LFormEvent=On Load )

     ` Do stuff while this object in its On Load cycle

   :($LFormEvent=On Unload )

     ` do stuff while this object is in its On Unload cycle

   :($LFormEvent=On Clicked)

     ` do stuff when this object is clicked

End case

ただ、上記のようなメソッドを記述したとしても、対応するイベントをプロパティリスト側で有効にする必要があることには変わらないので注意してください。