Consultor Eletrônico



Kbase P95259: Window loaded into AppBuilder causes extraneous &Scoped-define FRAME-NAME statements to be added
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   22/09/2004
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.0B

SYMPTOM(s):

Existing source program (.w) passes syntax check when opened in Procedure Editor

When the source program (.w) is loaded into the AppBuilder and syntax checked the syntax check fails with errors

When the source program (.w) is loaded into the AppBuilder the AppBuilder adds extraneous &Scoped-define FRAME-NAME statements which cause the program to fail the syntax check

CAUSE:

In OpenEdge 10.0B the logic which determines which frame becomes associated with the FRAME-NAME preprocessor was changed from being the first frame (by name where all frames were sorted alphabetically) to the first frame (sorted alphabetically) of all the frames that are parented directly to the window (i.e. frames nested within other frames are now ignored).
In most instances this new behavior generates the FRAME-NAME reference for the correct (i.e. logical) frame. However, if you have other frames nested within the default frame that is automatically generated when a new window is created in the AppBuilder then it is possible that the AppBuilder will generate the preprocessor incorrectly which in turn may cause your code to fail compilation.

FIX:

The way to resolve this issue is to explicitly specify which frame in the window should be used to define the FRAME-NAME preprocessor. The following steps show how to accomplish this:

Open the source program (.w) in the AppBuilder.
Double click the frame which should be used to define the FRAME-NAME preprocessor to open its Property Sheet window.
Click the 'Advanced...' button to open the Advanced Properties window.
Turn on the check box for '{&FRAME-NAME}' under the Advanced Settings section of this window.
Click 'OK' to close the Advanced Properties window.
Click 'OK' to close the Property Sheet window.
Save the window.