Versions Compared

Key

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

[ Image Removed |../../index.htm#lansa/ladtgub3_0300.htm]
現在地:

...

8.4.3 メソッドの結果

メソッドでは、*OUTPUTマップのいずれか1つを*RESULTとして定義できます。このようにすれば、式の中で、式の要素を生成する関数呼び出しとしてメソッドを使用できます。 例えば、以下のようになります。
Mthroutine Name

例えば、以下のようになります。 

     Mthroutine Name(MakeMessage)
Define_

...

Map For(*RESULT)

...

 Class(#STD_TEXT)

...

 Name(#OutTextOne)
Define_

...

Map For(*INPUT)

...

 Class(#STD_TEXT)

...

 Name(#InTextOne)
Define_

...

Map For(*INPUT)

...

 Class(#STD_TEXT)

...

 Name(#InTextTwo)

...


#OutTextOne :=

...

 #InTextOne.Value + " " + #InTextTwo.Value
Endroutine

Evtroutine Handling(#PHBN_2.Click)

...


Begincheck
Datecheck Field(#STD_DATE)

...

 In_Format(*DDMMYY)

...


Endcheck Msgtxt(#COM_OWNER.MakeMessage(

...

 "#Phbn_2.Click",

...

 "

...

Bad Date"

...

 ))
Endroutine

...

IFステートメントでは、ブール値の結果を返すメソッドまたは組み込みファンクションを使用できます。考え方としては、定義済みの条件を使用する場合と同じですが(DEF_CONDコマンドを参照)、この場合はメソッドを呼び出すので、条件の性質に関する制限がありません。
Mthroutine Name、この場合はメソッドを呼び出すので、条件の性質に関する制限がありません。 

     Mthroutine Name(Set_availability)

#Button1.

...

Enabled :=

...

 #COM_OWNER.Allow_Access
#SURNAME.

...

readonly :=

...

 *

...

Not #COM_OWNER.Allow_Access

...



Endroutine
Mthroutine Name(Allow_Access)
Define_

...

Map For(*RESULT)

...

 Class(#Prim_boln)

...

 Name(#RESULT)

...


        
#RESULT := True
If (#GIVENAME.Contains(

...

 'ABC'

...

 ))

...


#RESULT := False
Endif

Endroutine