オブジェクトメソッドからフォームの名前を得る
日付 | 2002/05/31 |
---|---|
ID | 01-916 |
バージョン | 6.5.x , 6.7.x, and 6.8.x |
プラットフォーム | Windows and Mac OS |
下記の単純なメソッドは、カレントフォームの名前を取得するものです。
If (Form event=On Timer)
C_TEXT($FormMethod;vFormName)
C_LONGINT($Position)
$FormMethod:=Current method name
$Position:=Position(".";$FormMethod)
vFormName:=Substring($FormMethod;$Position+1)
SET TIMER(0)
End if
基礎的なアイデアはフォームメソッドを強制的に実行させるところにあります。これはオブジェクトメソッドからSET TIMERコマンドを使うことで実現できます:
SET TIMER(1) ` 待ち時間タイマーを 1 tickに設定
この1行のプログラムは、フォームメソッドを直ちに実行してくれます。
そして、最初に掲げたメソッドをフォームメソッドの中に記述しておけば、プロセス変数「vFormName」にフォームの名前を得ることが出来ます。
※最後の行でタイマーを0へ戻しているので、何度も繰り返し実行されることはありません。