Skip to main content

[Migrated content. Thread originally posted on 22 November 2005]

Folks,

Anyone use grids with events which trigger another screen for example?

If so, do you make the actual accept of the screen terminate and catch this outside of the accept before starting the new screen?

Or again for example your in screenx and you allow a button push which displays another screen, again do you make the first accept terminate before displaying/accepting the new screen?

Shaun

[Migrated content. Thread originally posted on 22 November 2005]

Folks,

Anyone use grids with events which trigger another screen for example?

If so, do you make the actual accept of the screen terminate and catch this outside of the accept before starting the new screen?

Or again for example your in screenx and you allow a button push which displays another screen, again do you make the first accept terminate before displaying/accepting the new screen?

Shaun
We have tried to get into the practice of getting out of those event procedures (and therefore the accept) to handle any complex logic. We've encountered various issues (some may only apply to us) that cause us to think this way. One reason is to avoid recursive accepts. Another reason is that an event may fire from the original accept at a time that you are not expecting an event. Being outside of the accept should prevent that...

Anyway, we try to avoid those situations, but there are many places where we do stay in the event procedure and have been okay, too.

Rob

[Migrated content. Thread originally posted on 22 November 2005]

Folks,

Anyone use grids with events which trigger another screen for example?

If so, do you make the actual accept of the screen terminate and catch this outside of the accept before starting the new screen?

Or again for example your in screenx and you allow a button push which displays another screen, again do you make the first accept terminate before displaying/accepting the new screen?

Shaun
Rob,

Do you use grids too?

What way do you handle the event procedure on the grid regarding terminating the accept, and more importantly catching the termination.

Mainly the GOTO-CELL-MOUSE event triggering another screne to be displayed.

We're not using event-cmd-clicked that much in any of our programs, only certain screens use this and its mainly for lookups on fields.
We've switched over to exception-cmd-click on pretty much every other push button.

Thanks,

Shaun

[Migrated content. Thread originally posted on 22 November 2005]

Folks,

Anyone use grids with events which trigger another screen for example?

If so, do you make the actual accept of the screen terminate and catch this outside of the accept before starting the new screen?

Or again for example your in screenx and you allow a button push which displays another screen, again do you make the first accept terminate before displaying/accepting the new screen?

Shaun
I don't use the AcuCorp grid as much anymore because I've started using an ActiveX grid. However, I use this approach in that grid control. Essentially, I just save pertinent information about the event and then terminate the accept (SET EVENT-ACTION TO EVENT-ACTION-TERMINATE). Then outside of the accept, I handle the event based on the information I saved in the event procedure. Then, I loop back to the accept when done.

Rob

[Migrated content. Thread originally posted on 22 November 2005]

Folks,

Anyone use grids with events which trigger another screen for example?

If so, do you make the actual accept of the screen terminate and catch this outside of the accept before starting the new screen?

Or again for example your in screenx and you allow a button push which displays another screen, again do you make the first accept terminate before displaying/accepting the new screen?

Shaun
Shaun,

Yes, we do the same as Rob.

Initially we tried using just event procedure code, but we found it was much easier to handle (no events within events) by just using the EVENT-ACTION-TERMINATE setting.

So in the event procedures we only deal with very simple actions (like changing the colour of grid cells), but for more major actions (like openeing a new window) we terminate the ACCEPT and deal with it specifically.