Tips

全メソッドのパスを得るコード

日付2015/03/31
ID15-002
バージョンv13以降
プラットフォーム

4D v13から追加されたデザインオブジェクトアクセスコマンドで、全てのメソッドにアクセスできるようになりました。一括してメソッドのパスを取り出すコードは何かと応用が効くと思いますので、備忘録的にご紹介させていただきます。

//目的
//全メソッドのパスを得る

//呼び出し方
//ARRAY TEXT(all_methods;0)
//本メソッド(->$all_methods)

C_POINTER($1)

ARRAY TEXT($1->;0)
ARRAY TEXT($ref_objects;0)
C_LONGINT($i)

//プロジェクトメソッド(注:現行バージョンはプロジェクトメソッド名=パス)
METHOD GET NAMES($ref_objects)
For ($i;1;Size of array($ref_objects))
APPEND TO ARRAY($1->;METHOD Get path(Path Project method;$ref_objects{$i}))
End for 

//プロジェクトフォーム
METHOD GET PATHS FORM($ref_objects)
For ($i;1;Size of array($ref_objects))
APPEND TO ARRAY($1->;$ref_objects{$i})
End for 

//テーブルフォーム
C_LONGINT($table_NO)
For ($table_NO;1;Get last table number)
If (Is table number valid($table_NO))
METHOD GET PATHS FORM(Table($table_NO)->;$ref_objects)
For ($i;1;Size of array($ref_objects))
APPEND TO ARRAY($1->;$ref_objects{$i})
End for 
End if 
End for