Consultor Eletrônico



Kbase 21311: Dynamic Function causes Error 5635
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/15/2008
Status: Verified

FACT(s) (Environment):

Progress 9.1x

SYMPTOM(s):

Error 5635 with Dynamic-Function

SYSTEM ERROR: -s exceeded. Raising STOP condition and attempting to write stack trace to file 'procore'. Consider increasing -s startup parameter. (5635)

CAUSE:

You may experience Error 5635 with the use of Dynamic-Function with Progress version 9.1x.


The following code will illustrate the problem:

DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
DEFINE VARIABLE k AS LOGICAL NO-UNDO.

DO i = 1 TO 10000:
ASSIGN k = DYNAMIC-FUNCTION("testing").
IF k THEN
ASSIGN j = j + 1.
END.
MESSAGE j VIEW-AS ALERT-BOX.

FUNCTION testing RETURNS LOGICAL ():
RETURN TRUE.
END FUNCTION.


FIX:

This code is the solution to the problem.

DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.

DO i = 1 TO 10000:
IF DYNAMIC-FUNCTION("testing") THEN
ASSIGN j = j + 1.
END.

MESSAGE j VIEW-AS ALERT-BOX.

FUNCTION testing RETURNS LOGICAL ():
RETURN TRUE.
END FUNCTION.