メインコンテンツまでスキップ
バージョン: 次へ

Call chain

Call chain : Collection

引数説明
戻り値Collectionプロセス内での呼び出しチェーンを記述したオブジェクトのコレクション
履歴
リリース内容
20 R9formula プロパティをサポート

説明

Call chain コマンドは、カレントプロセス内におけるメソッド呼び出しチェーンの各ステップを説明するオブジェクトのコレクションを返します。 これはデバッガウィンドウと同じ情報を提供します。 こちらの方が、コンパイルモードを含めてあらゆる4D 環境から実行可能であるという利点があります。

このコマンドを使用すると呼び出されたメソッドまたはフォーミュラ、呼び出したコンポーネント、そして呼び出しが行われた行番号などを特定することが可能なため、デバッグが容易になります。 返されたコレクション内のそれぞれのオブジェクトには以下のプロパティが格納されています:

プロパティDescriptionExample
databaseTextメソッドを呼び出しているデータベース名(ホストメソッドとコンポーネントメソッドを識別するため)"database":"contactInfo"
formulaText (あれば)呼び出しチェーンのカレントレベルにおけるコードの現在の行のコンテンツ(平文テキスト)。 メソッドで示されているソースファイル内の line プロパティによって参照される行のコンテンツに対応します。 ソースコードが利用できない場合、 formula プロパティは省略されます(未定義)。"var $stack:=Call chain"
Integerメソッド呼び出しの行番号"line":6
nameText呼び出されたメソッドの名前"name":"On Load"
typeTextメソッドのタイプ:
  • "projectMethod"
  • "formObjectMethod"
  • "formmethod"
  • "databaseMethod"
  • "triggerMethod"
  • "executeOnServer" (サーバー上で実行属性つきのプロジェクトメソッドを呼び出した場合)
  • "executeFormula" (PROCESS 4D TAGS あるいは4D Write Pro ドキュメント内のフォーミュラの評価経由でフォーミュラを実行した場合)
  • "classFunction"
  • "formMethod"
  • "type":"formMethod"

    このコマンドがコンパイルモードで動作するためには、範囲チェック が無効化されている必要があります。

    例題

    以下のコードは、メソッドの呼び出しチェーンに関する情報を格納したオブジェクトのコレクションを返します:

    var $currentCallChain : Collection
    $currentCallChain:=Call chain

    プロジェクトメソッドが実行されていた場合には、Call chain には(一例として)以下のようなものが格納されています:

    [
    {
    "type":"projectMethod",
    "name":"detailForm",
    "line":1,
    "database":"myDatabase"
    }
    ]

    フォームオブジェクトメソッドが実行された場合には、Call chain には(一例として)以下のようなものが格納されています:

    [
    {
    "type":"formObjectMethod",
    "name":"detailForm.Button",
    "line":1,
    "database":"myDatabase"
    },
    {
    "type":"formMethod",
    "name":"detailForm",
    "line":2,
    "database":"myDatabase"
    },
    {
    "type":"projectMethod",
    "name":"showDetailForm",
    "line":2,
    "database":"myDatabase"
    }
    ]

    プロパティ

    コマンド番号1662
    スレッドセーフ