Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Get call chain
|
Get call chain -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Funktionsergebnis | Collection |
![]() |
Collection der Objekte zur Beschreibung der Aufruffolge der Methode in einem Prozess | |||||
Der Befehl Get call chain gibt eine Collection von Objekten zurück, die jeden Schritt der Aufruffolge der Methode im aktuellen Prozess beschreiben. Er liefert dieselbe Information wie das Debugger-Fenster, hat aber zusätzlich den Vorteil, dass er sich in jeder 4D Umgebung ausführen lässt, inkl. im kompilierten Modus.
Der Befehl erleichtert Debugging, denn er liefert folgende Angaben: Identifikation der aufgerufenen Methode bzw. der Komponente, welche sie aufgerufen hat, und die Nummer der Zeile, wo der Aufruf erfolgt. Jedes Objekt in der zurückgegebenen Collection enthält folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung | Beispiel |
database | Text | Name der Datenbank, die die Methode aufruft (zur Unterscheidung von Host Methoden und Komponentenmethoden) | "database":"contactInfo" |
line | Lange Ganzzahl | Nummer der Zeile, wo die Methode aufgerufen wird | "line":6 |
name | Text | Name der Methode | "name":"On Load" |
type | Text | Typ der Methode:
| "type":"formMethod" |
Hinweis: Damit dieser Befehl im kompilierten Modus funktioniert, muss die Bereichsprüfung aktiviert sein. Weitere Informationen dazu finden Sie im Abschnitt Bereichsprüfung.
Folgender Code gibt eine Collection von Objekten mit Angaben zur Aufruffolge der Methode zurück:
C_COLLECTION($currentCallChain)
$currentCallChain:=Get call chain
Beim Ausführen einer Projektmethode könnte die Aufruffolge so aussehen:
[
{
"type":"projectMethod",
"name":"detailForm",
"line":1,
"database":"myDatabase"
}
]
Beim Ausführen einer Methode für Formularobjekt könnte die Aufruffolge so aussehen:
[
{
"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”
}
]
Produkt: 4D
Thema: Programmiersprache
Nummer:
1662
Erstellt: 4D v17 R6
4D Programmiersprache ( 4D v20 R7)