Error 2780 (Input blocking statement is invalid while execut

Posted by atuldalvi123 on 30-Mar-2017 09:09

Within a .p program, I am simply updating one variable by prompting the user for input as below and this .p I am calling directly from a application menu which is designed in OpenEdge 11.6.3 with .Net framework.

define variable VI_FINH_ID as integer.

define variable www as handle.

create window www .

current-window = www.

update VI_FINH_ID with FRAME AAA.

 

I know, the Error 2780 comes at the update statement but not sure why.

I tried Wait-For statement, but it is not working. Is there any solution on this ?

Posted by Laura Stern on 30-Mar-2017 09:17

You get this error when:

1. You are already in a .NET WAIT-FOR.

2. You are in a non-void method or function either directly or somewhere up the call stack.

3. You are trying to use an input-blocking statement that is NOT for a dialog-box.

This cannot be implemented.  You are only supposed to have one input-blocking statement for all non-modal windows throughout the entire application.  Only dialog-boxes get new WAIT-FOR statements (either ABL or .NET).  We let people get away with more than one input-blocking statement in some scenarios.  But I repeat, for this scenario, it cannot be implemented.

I'm afraid the code will need to be restructured so that the window is enabled and you return to the original WAIT-FOR, rather than using an UPDATE statement, and then use triggers to do any work that is necessary.  Or did you really mean this to be a dialog-box?

All Replies

Posted by Laura Stern on 30-Mar-2017 09:17

You get this error when:

1. You are already in a .NET WAIT-FOR.

2. You are in a non-void method or function either directly or somewhere up the call stack.

3. You are trying to use an input-blocking statement that is NOT for a dialog-box.

This cannot be implemented.  You are only supposed to have one input-blocking statement for all non-modal windows throughout the entire application.  Only dialog-boxes get new WAIT-FOR statements (either ABL or .NET).  We let people get away with more than one input-blocking statement in some scenarios.  But I repeat, for this scenario, it cannot be implemented.

I'm afraid the code will need to be restructured so that the window is enabled and you return to the original WAIT-FOR, rather than using an UPDATE statement, and then use triggers to do any work that is necessary.  Or did you really mean this to be a dialog-box?

This thread is closed