全メソッドのパスを得るコード
| 日付 | 2015/03/31 |
|---|---|
| ID | 15-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