Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting

> ## Sample Event logs

> The sample event logs that follow assume a logging level of `2` and a log entry type of `ProEvents.*`.

> The next sample event log involves a `RETURN NO-APPLY` statement. It is based on the following scenario:

> - There is a window with a fill-in and a button.

> - The fill-in has the focus when the user clicks the button.

> - The fill-in’s `LEAVE` trigger executes a `RETURN NO-APPLY`.

> - OpenEdge discards both the `LEAVE` and `ENTRY` events.

> Here is the sample log file (with header suppressed):

>     START GUI WM_LBUTTONDOWN BUTTON BUTTON-1 myprog.p
>     START GUI WM_KILLFOCUS FILL-IN FILL-IN-1 myprog.p
>     START GUI WM_SETFOCUS BUTTON BUTTON-1 myprog.p
>     START GUI WM_LBUTTONUP BUTTON BUTTON-1 myprog.p
>     PUSH FOCUS-IN BUTTON BUTTON-1 myprog.p
>     PUSH ENTRY BUTTON BUTTON-1 myprog.p
>     PUSH LEAVE FILL-IN FILL-IN-1 myprog.p
>     Begin-Trigger "LEAVE OF FILL-IN FILL-IN-1" myprog.p
>     End-Trigger "LEAVE OF FILL-IN FILL-IN-1"
>     PRGS LEAVE FILL-IN FILL-IN-1 return no-apply
>     POP LEAVE FILL-IN FILL-IN-1 myprog.p
>     START GUI WM_KILLFOCUS BUTTON BUTTON-1 myprog.p
>     START GUI WM_SETFOCUS FILL-IN FILL-IN-1 myprog.p
>     PRGS ENTRY BUTTON BUTTON-1 discarded
>     POP ENTRY BUTTON BUTTON-1 myprog.p
>     PRGS FOCUS-IN BUTTON BUTTON-1 discarded
>     POP FOCUS-IN BUTTON BUTTON-1 myprog.p

> The next sample Event log shows a common event cycle. It is based on the following scenario:

> - There is a window with a toggle box, a fill-in, and a button.

> - The toggle box has the focus when the user clicks the button.

> - The button’s `CHOOSE` trigger runs the `APPLY` statement that applies an event to the fill-in.

> Here is the sample log file (with header suppressed):

>     START GUI WM_LBUTTONDOWN BUTTON BUTTON-1 win1.p
>     START GUI WM_KILLFOCUS FILL-IN FILL-IN-1 win1.p
>     START GUI WM_SETFOCUS BUTTON BUTTON-1 win1.p
>     START GUI WM_LBUTTONUP BUTTON BUTTON-1 win1.p
>     PUSH FOCUS-IN BUTTON BUTTON-1 win1.p
>     PUSH FOCUS-IN BUTTON BUTTON-1 win1.p
>     PUSH ENTRY BUTTON BUTTON-1 win1.p
>     PUSH LEAVE FILL-IN FILL-IN-1 win1.p
>     Begin-Trigger "LEAVE OF FILL-IN FILL-IN-1" win1.p
>     End-Trigger "LEAVE OF FILL-IN FILL-IN-1"
>     POP LEAVE FILL-IN FILL-IN-1 win1.p
>     Begin-Trigger "ENTRY OF BUTTON BUTTON-1" win1.p
>     START GUI WM_ENABLE WINDOW  Handle:1129 win1.p
>     START GUI WM_ENABLE WINDOW  Handle:1029
>     START GUI WM_KILLFOCUS BUTTON BUTTON-1 win1.p
>     START GUI WM_SETFOCUS WINDOW  Handle:1129 win1.p
>     START GUI WM_ENABLE WINDOW  Handle:1129 win1.p
>     START GUI WM_ENABLE WINDOW  Handle:1029
>     START GUI WM_KILLFOCUS WINDOW  Handle:1129 win1.p
>     START GUI WM_SETFOCUS BUTTON BUTTON-1 win1.p
>     End-Trigger "ENTRY OF BUTTON BUTTON-1"
>     POP ENTRY BUTTON BUTTON-1 win1.p
>     POP FOCUS-IN BUTTON BUTTON-1 win1.p
>     POP FOCUS-IN BUTTON BUTTON-1 win1.p
>     PUSH CHOOSE BUTTON BUTTON-1 win1.p
>     Begin-Trigger "CHOOSE OF BUTTON BUTTON-1" win1.p
>     APPLY ENTRY FILL-IN FILL-IN-1 USER-INTERFACE-TRIGGER win1.p Line 194
>     PUSH APPLY_ENTRY FILL-IN FILL-IN-1 win1.p
>     PUSH APPLY_ENTRY FILL-IN FILL-IN-1 win1.p
>     PUSH ENTRY FILL-IN FILL-IN-1 win1.p
>     PUSH LEAVE BUTTON BUTTON-1 win1.p
>     POP LEAVE BUTTON BUTTON-1 win1.p
>     START GUI WM_KILLFOCUS BUTTON BUTTON-1 win1.p
>     START GUI WM_SETFOCUS FILL-IN FILL-IN-1 win1.p
>     POP ENTRY FILL-IN FILL-IN-1 win1.p
>     POP APPLY_ENTRY FILL-IN FILL-IN-1 win1.p
>     POP APPLY_ENTRY FILL-IN FILL-IN-1 win1.p
>     End-Trigger "CHOOSE OF BUTTON BUTTON-1"
>     POP CHOOSE BUTTON BUTTON-1 win1.p

> As you can see by examining these samples, there are bursts of logging activity during short spans of user interaction. Thus, it is most efficient to turn on logging at run time, using the `LOG-MANAGER` system handle attributes, perform the interaction you want to trace, and then turn off logging. For more information, see OpenEdge Development: Progress 4GL Reference .

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095