Zum Hauptinhalt springen

Debugging

(Verfügbar ab Version 23.1.)

Mit dem MapEdit Script Debug Fenster kann der Code Ablauf verfolgt werden.

Das Debug Fenster Modus kann im Client aktiviert werden in dem während dem klicken eines Script Knopfes die D-Taste gedrückt wird.

Dies funktioniert jedoch nur für Anwender die Amin User Berechtigungen haben.

Das Debug Fenster wird angezeigt sobald der Code auf eine

Me.ScriptDebugger.Stop()

Anweisung stößt.

Beispiel Code mit Debugger Anweisungen:

Public Overrides Sub Button_Click()


'Write a Line to the Debug Window
'The Debug Window will be show with the first Me.ScriptDebugger.Stop() Command
Me.ScriptDebugger.WriteLine("Hey Ho Debugger")

dim fid as string
fid = Me.Form.Key

'Show the current Content of a Variable in the Debug Window
Me.ScriptDebugger.Watch(fid)

'Stop the Code execution and displays the Script Debug Window
Me.ScriptDebugger.Stop()

dim i as integer
dim txt as string

Me.MsgBox("FID=" & fid)

FOR i=1 to 5
Me.ScriptDebugger.Watch(i)
Me.ScriptDebugger.Stop()
txt="Hello " & i
Me.ScriptDebugger.Watch(txt)
Me.ScriptDebugger.Stop()
NEXT

End Sub

Hinweise:

Bei jedem Me.ScriptDebugger.Stop() Befehl wird der Code angehalten und das Debug Fenster angezeigt.

Der Inhalt von Variablen kann überprüft werden in dem die Funktion

Me.ScriptDebugger.Watch(Ihre Variable)

aufgerufen wird.

Der Wert der Variable der im Debug Fenster angezeigt wird ist immer der Wert zu dem Zeitpunkt wo Me.ScriptDebugger.Watch aufgerufen wurde.

Bespiel mit falscher Verwendung

dim i as integer
i=1
Me.ScriptDebugger.Watch(i)
Me.ScriptDebugger.Stop()
'Fenster zeigt den Wert "i=1" an
i=2
Me.ScriptDebugger.Stop()
'Fenster zeigt immer noch den Wert "i=1"
'an weil nach dem ändern von i
'nicht Me.ScriptDebugger.Watch(i) aufgerufen wurde.

Bespiel mit richtiger Verwendung

dim i as integer
i=1
Me.ScriptDebugger.Watch(i)
Me.ScriptDebugger.Stop()
'Fenster zeigt den Wert "i=1" an
i=2
Me.ScriptDebugger.Watch(i)
Me.ScriptDebugger.Stop()
'Fenster zeigt den Wert "i=2" an