BC Debug: Unterschied zwischen den Versionen
Zeile 12: | Zeile 12: | ||
Es folgen ein Label (auch mit einer übersetzten Beschriftung) und ein Edit-Feld, danach wird die Prozedur ''#filter'' aufgerufen, welche das Filter-Kommando des Formulars ausführt. | Es folgen ein Label (auch mit einer übersetzten Beschriftung) und ein Edit-Feld, danach wird die Prozedur ''#filter'' aufgerufen, welche das Filter-Kommando des Formulars ausführt. | ||
+ | |||
+ | Die Ausführung des Kommandos ''xlookup_flt'' beginnt damit, dass der Baum geleert wird. Dann wird geprüft, ob ''edt1'' einen Inhalt hat. An dieser Stelle sind zwei Funktionen ineinander geschachtelt. Zuerst wird die innere Funktion $EDT() ausgeführt, diese gibt einen leeren String zurück. Mit $NEMPTY() wird geprüft, dass der Inhalt von ''edt1'' nicht leer ist - da er leer ist, wird ''N'' zurück gegeben. | ||
+ | |||
+ | Es wird also zur nächsten Verzweigung gesprungen, diese ist ohne Bedingung, wird also immer ausgeführt, wenn keine vorherige Bedingung zugetroffen hat. Hier wird mittels eines SQL-Statements der Baum gefüllt. | ||
+ | |||
+ | Jeder Tab im BAF-Client hat einen korrespondierenden Tab im Debug-Log. Aus Gründen der Performance und der Übersichtlichkeit wird das Log nur geschrieben, wenn es ''Aktiv'' ist. Mit ''Clear Log'' lässt es sich auch löschen. Mit ''StayOnTop'' wird das Formular des Debug-Fensters immer im Vordergrund angezeigt. |
Version vom 1. August 2021, 19:49 Uhr
Die Debug-Tools
Oben links im Developement-Bereich sind die fünf Debug-Tools.
Debug-Log
Das Debug-Log zeigt die einzelnen Prozeduren in der Reihenfolge der Ausführung und die ausgeführten Funktionen inklusive deren Ergebnis an. Im Gegensatz zu einem konventionellen Debugger, bei dem man den Code Schritt für Schritt ausführt, lässt man beim Debug-Log das Programm einfach auf den Fehler laufen und schaut sich dann an, wie es dazu gekommen ist. Das hat sich in der Praxis als deutlich schneller herausgestellt.
Hier im Beispiel sehen wir oben zunächst noch den Rest einer Funktion, $T(Add_list). Es wird also ein Text übersetzt. Das Ergebnis der Funktion wird nach den vier Minuszeichen angezeigt, Liste hinzufügen, es ist also Deutsch als Sprache eingestellt.
Es folgen ein Label (auch mit einer übersetzten Beschriftung) und ein Edit-Feld, danach wird die Prozedur #filter aufgerufen, welche das Filter-Kommando des Formulars ausführt.
Die Ausführung des Kommandos xlookup_flt beginnt damit, dass der Baum geleert wird. Dann wird geprüft, ob edt1 einen Inhalt hat. An dieser Stelle sind zwei Funktionen ineinander geschachtelt. Zuerst wird die innere Funktion $EDT() ausgeführt, diese gibt einen leeren String zurück. Mit $NEMPTY() wird geprüft, dass der Inhalt von edt1 nicht leer ist - da er leer ist, wird N zurück gegeben.
Es wird also zur nächsten Verzweigung gesprungen, diese ist ohne Bedingung, wird also immer ausgeführt, wenn keine vorherige Bedingung zugetroffen hat. Hier wird mittels eines SQL-Statements der Baum gefüllt.
Jeder Tab im BAF-Client hat einen korrespondierenden Tab im Debug-Log. Aus Gründen der Performance und der Übersichtlichkeit wird das Log nur geschrieben, wenn es Aktiv ist. Mit Clear Log lässt es sich auch löschen. Mit StayOnTop wird das Formular des Debug-Fensters immer im Vordergrund angezeigt.