Release Note 020: Recommendation to use -IOEverywhere 1

As of OpenEdge 10.2B Service Pack 2 we do recommend to use the new but not yet documented startup parameter –IOEverywhere 1 with every Progress OpenEdge GUI for .NET based application – which includes the SmartComponent Library.  

This startup parameter was introduced in OpenEdge 10.2B Service Pack 2 and finally removes the restrictions of using input-blocking statements in functions/non-void methods. It activates a fix for a bug that's been in the product since the introduction of user defined functions (in Progress 8.3 or 9.0). See http://communities.progress.com/pcom/message/101072#101072 or other PSDN discussions for a discussion of that fix. Laura Stern is the developer who fixed this!  

Input-blocking statements typically used in a GUI for .NET application are the WAIT-FOR oForm:ShowDialog() or PROCESS EVENTS.  

In OE11 -IOEverywhere 1 becomes the new default, allowing you to turn it off with -IOEverywhere 0. This has been announced during the ABL Info Exchange during PUG Challenge Americas and other recent announcements of the OpenEdge 11 features.  

We have been using this fix and the –IOEverywhere 1 parameter since roughly a year now (since we’ve received a pre-release of Service Pack 2) and haven’t had any issue. We strongly recommend adding this parameter to all configurations starting OpenEdge GUI for .NET based programs; for every runtime and compile time session.  

Note: We’ve experienced problems with the use of the –IOEverywhere 1 parameter in combination with the Visual Designer in OpenEdge 10.2B Service Pack 3. These issues are not related to the –IOEverywhere 1 feature/fix itself. But the OpenEdge Architect has issues with recognizing the project AVM’s startup parameters and as a consequence the –assemblies parameter will not be evaluated by the .NET Visual Design environment. We do recommend using Service Pack 4 where this issue had been fixed.