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.