Problem with version 11 and ABL

Posted by Elena_Perello on 01-Feb-2013 02:20

Hi!!
I've windows in ABL (SmartWindow) that call windows in .NET (form). When this form close ocurr this error:
"Sólo puede usar una instruccion .NET especifica que bloquee la entrada WAIT-FOR x:y() despues de que se muestre
culaquier formulario .NET (que no sea esperar por un cuadro de dialogo ABL). (13967).
This error with 10.2b don´t happen.
This is code in the trigger ON CHOOSE of button in the window ABL:
ON
CHOOSE OF but_lis IN FRAME fr_pricon /* Listar */
DO:
DEFINE VARIABLE v-Infor AS FRONT.Infor.Infor_Servicios NO-UNDO.
v-infor = NEW FRONT.Infor.Infor_Servicios().
IF NOT v-infor:m_ErroresParametros() THEN
WAIT-FOR v-infor:ShowDialog().
END.
NOTE: Another thing, in the 10.2b had to put the parameter-IOEveryWhere 1 for this error not to leave, but in version 11, no matter what place or remove it always comes

All Replies

Posted by Marko Myllymäki on 01-Feb-2013 06:02

Hi,

in OE11, parameter IOEverywhere defaults to 1, so you might want to try:

-IOEverywhere 0

We had the same problem and using using -IOEverywhere 0 with OE11 solved the problem for us.

Posted by Elena_Perello on 01-Feb-2013 06:11

Yes, I already tried it but I left the following error:

"La instruccion no modal de bloqueo de entrada apilada en .NET

WAIT-FOR no es valida mientras se ejecute una función o un método

no anulado definido por el usuario: 'm_ErroresParametros' (2780)


Posted by Stefan Marquardt on 01-Feb-2013 06:46

My opinion:
If somebody hits a problem with IOEverywhere 1, he noticed a bug and disabling it is a workaround - nothing more.

This parameter was introduced to allow WAIT-FOR in methods with a return-value.

In .NET nothing special but in OpenEdge a great thing. (like multithreading)

From 10.2B it was possible to set this parameter and we are using it.

Progress let us, the same with using every .NET control and not a handful, running a long unoffical beta test.

A few weeks ago i read a KB that IOEverywhere 0 is a solution for a problem.

This is funny, i hope we will not get this problem because without it our application would be out of order.

Stefan

Posted by Marko Myllymäki on 01-Feb-2013 06:56

Have you seen this KB article:

http://knowledgebase.progress.com/articles/Article/000032521

This indicates there is a bug which was fixed in 10.2B07 (but not in OE11). According to 11.2 beta documentation, it will be fixed in OE11.2.

Posted by Elena_Perello on 01-Feb-2013 11:40

The problem is that if my window. NET returns a value no longer works-IOEveryWhere 0

Posted by Admin on 01-Feb-2013 12:01

may not be your preferred coding style, but Output parameters should work with IOEverywhere 0

Posted by Elena_Perello on 04-Feb-2013 01:30

I do not understand is because things that worked with 10.2b now do not work with the 11.
Should I make my windows. NET not returning anything?

Posted by Admin on 04-Feb-2013 03:05

Elena_Perello schrieb:

I do not understand is because things that worked with 10.2b now do not work with the 11.

Regression issues occur... sad but true. The most painful thing is however, that the fix which is in 10.2B07 has not been provided for 11 (no service pack here)

You are not writing which version you are using (11.0 or 11.1). We are heavily relying on -IOEverywhere 1 in 10.2B and 11.1. Maybe it works better in 11.1 then it does in 11.0? When attempting OpenEdge 11.1, use at least hot fix 11.1.0.005

Should I make my windows. NET not returning anything?

It's not the windows that should not return anything. It are methods that return a value causing the problem. OUTPUT Parameters are o.k.

You may also wait for 11.2 or try to get an hotfix for 11.0 or 11.1 if you can provide tech support a serious business case.

Posted by Elena_Perello on 04-Feb-2013 03:12

Thank for all!!

My version is 11.1.0

I'll wait for version 11.2 to see if that solves the problem and call for support but.

And again, sorry for my English (or rather, the Google translator!)

This thread is closed