Montag, 19. November 2007

Was feuert wann ... Eventtracking in Visual FoxPro

Selbst diejenigen unter uns, die schon eine ganze Weile mit dem Fux arbeiten fragen sich manchmal: Wann feuert nochmal welcher Event. Kommt jetzt zuerst QueryUnload, Unload oder Destroy? Kommt zuerst When oder GotFocus?

Natürlich können wir uns ein Formular bauen, in dem jedes Event in eine Protokolldatei reinschreibt. Aber warum so aufwändig? Schalten wir doch einfach das Eventtracking (-> Ereignisverfolgung) im Debugger ein. Danach können wir genau verfolgen, was in welcher Reihenfolge abgearbeitet wird.
 
Was ist hierfür zu tun?

Zunächst einmal öffnen wir den Debugger. In der Toolbar klicken wir nun auf den ganz rechts gelegenen Button. Im Anschluss erscheint das Ereignisüberwachungsfenster.
 
Abb. 1: Das Ereignisüberwachungsfenster


Hier können nun gezielt die Ereignisse ausgewählt werden, die überwacht werden sollen. Die Events 'MouseEnter', 'MouseMove' und 'MouseLeave' sollten auf jeden Fall aus der Liste entfernt werden. Andernfalls wird das Protokoll von diesen drei Events überschwemmt und die Auswertung unnötig erschwert.

Haben wir alle relevanten Events in der Liste überprüft steht nun die Entscheidung an, ob die Protokollierung sichtbar im Debugger oder in eine zu definierende Protokolldatei erfolgen soll. Abschliessend aktivieren wir der Überwachung. Dies geschieht über das Setzen des Hakens ganz oben im Fenster (-> Ereignisüberwachung aktivieren). Jetzt kann dieses Fenster über [OK] geschlossen werden. 

Sobald nun das nächste Objekt, Programm oder Form aktiviert wird können wir dieses in aller Ruhe im Debugger überwachen oder nach dem Beenden in der Protokolldatei nachlesen.

Keine Kommentare:

Kommentar veröffentlichen