Skip to main content

[archive] Tab-Changed & Generate Source

  • April 4, 2008
  • 4 replies
  • 0 views

[Migrated content. Thread originally posted on 03 April 2008]

Hi,
I've read posts that have touched on this but havent found a real way to deal with this:
The issue is changing tabs and the Generate Source function. I believe the concept behind AcuCobol is graphical development - make the graphical changes to build a screen then let AcuBench build the associated logic - the problem is that when I build a tab control and generate source, the "Acu-Screen1-Ta-1-Cmd-Tabchanged" automatically built with the Gernerate Source command inserts the following at the bottom of the Evaluate statement:
END-EVALUATE
* Before-Tabchg-Display
DISPLAY Screen1
* After-Tabchg-Display
The Display command does not terminate the previous accept - therefore after changing tabs 9 times you get a warning about recursive accepts.
AcuCobol allows you to define an event for tab change that you can enter into the Event module but it is ignored because of the generated source. I can tell Bench not to generate EVT but that defeats the whole purpose of graphical development - there has to be a way to prevent Bench from automatically generating this Event - isnt there??

Sorry for such a long winded explanation!!

4 replies

[Migrated content. Thread originally posted on 03 April 2008]

Hi,
I've read posts that have touched on this but havent found a real way to deal with this:
The issue is changing tabs and the Generate Source function. I believe the concept behind AcuCobol is graphical development - make the graphical changes to build a screen then let AcuBench build the associated logic - the problem is that when I build a tab control and generate source, the "Acu-Screen1-Ta-1-Cmd-Tabchanged" automatically built with the Gernerate Source command inserts the following at the bottom of the Evaluate statement:
END-EVALUATE
* Before-Tabchg-Display
DISPLAY Screen1
* After-Tabchg-Display
The Display command does not terminate the previous accept - therefore after changing tabs 9 times you get a warning about recursive accepts.
AcuCobol allows you to define an event for tab change that you can enter into the Event module but it is ignored because of the generated source. I can tell Bench not to generate EVT but that defeats the whole purpose of graphical development - there has to be a way to prevent Bench from automatically generating this Event - isnt there??

Sorry for such a long winded explanation!!
this only happens when running with thin client - no accept recursion occurs running locally (the display screen command still executes).

[Migrated content. Thread originally posted on 03 April 2008]

Hi,
I've read posts that have touched on this but havent found a real way to deal with this:
The issue is changing tabs and the Generate Source function. I believe the concept behind AcuCobol is graphical development - make the graphical changes to build a screen then let AcuBench build the associated logic - the problem is that when I build a tab control and generate source, the "Acu-Screen1-Ta-1-Cmd-Tabchanged" automatically built with the Gernerate Source command inserts the following at the bottom of the Evaluate statement:
END-EVALUATE
* Before-Tabchg-Display
DISPLAY Screen1
* After-Tabchg-Display
The Display command does not terminate the previous accept - therefore after changing tabs 9 times you get a warning about recursive accepts.
AcuCobol allows you to define an event for tab change that you can enter into the Event module but it is ignored because of the generated source. I can tell Bench not to generate EVT but that defeats the whole purpose of graphical development - there has to be a way to prevent Bench from automatically generating this Event - isnt there??

Sorry for such a long winded explanation!!
this only happens when running with thin client - no accept recursion occurs running locally (the display screen command still executes).

[Migrated content. Thread originally posted on 03 April 2008]

Hi,
I've read posts that have touched on this but havent found a real way to deal with this:
The issue is changing tabs and the Generate Source function. I believe the concept behind AcuCobol is graphical development - make the graphical changes to build a screen then let AcuBench build the associated logic - the problem is that when I build a tab control and generate source, the "Acu-Screen1-Ta-1-Cmd-Tabchanged" automatically built with the Gernerate Source command inserts the following at the bottom of the Evaluate statement:
END-EVALUATE
* Before-Tabchg-Display
DISPLAY Screen1
* After-Tabchg-Display
The Display command does not terminate the previous accept - therefore after changing tabs 9 times you get a warning about recursive accepts.
AcuCobol allows you to define an event for tab change that you can enter into the Event module but it is ignored because of the generated source. I can tell Bench not to generate EVT but that defeats the whole purpose of graphical development - there has to be a way to prevent Bench from automatically generating this Event - isnt there??

Sorry for such a long winded explanation!!
Hi,

Are you sure?
What version are you running with?

It looks to me from debugging one of our programs that the accept does actually terminate as soon as you change tab and is reentered after the tab changes.

After the tab changes, the generated code does
MOVE 1 TO Accept-Control

and then immediately falls back into the Acu-Screen1-Proc where the ACCEPT Screen1 line of code is executed.

Shaun

[Migrated content. Thread originally posted on 03 April 2008]

Hi,
I've read posts that have touched on this but havent found a real way to deal with this:
The issue is changing tabs and the Generate Source function. I believe the concept behind AcuCobol is graphical development - make the graphical changes to build a screen then let AcuBench build the associated logic - the problem is that when I build a tab control and generate source, the "Acu-Screen1-Ta-1-Cmd-Tabchanged" automatically built with the Gernerate Source command inserts the following at the bottom of the Evaluate statement:
END-EVALUATE
* Before-Tabchg-Display
DISPLAY Screen1
* After-Tabchg-Display
The Display command does not terminate the previous accept - therefore after changing tabs 9 times you get a warning about recursive accepts.
AcuCobol allows you to define an event for tab change that you can enter into the Event module but it is ignored because of the generated source. I can tell Bench not to generate EVT but that defeats the whole purpose of graphical development - there has to be a way to prevent Bench from automatically generating this Event - isnt there??

Sorry for such a long winded explanation!!
We tried to reproduce what Yohan describes here - using version 8.0 of Acubench we made a new Thin Client project with a Tab control and several tabs. We generate and build the project then run it across the Thin Client and changed the tab back-and-forth ~20 times, but did NOT see the described problem.
It seems there is some code we are missing in order to see this problem.