Kbase 32898: STRENT request for more than 32K. (893) using Dynamic objects
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
Solution ID: P2898
FACT(s) (Environment):
Progress 9.1x
SYMPTOM(s):
Developing with dynamic objects
SYSTEM ERROR: strent request for more than 32K. (893)
CAUSE:
If you create dynamic objects, such as Temp-Tables, Browses and Queries, within your code and you do not delete them, after a period of time this will cause problems.
FIX:
Delete all dynamic objects at the end of each program.
The Progress Programming Handbook, Section 15.3.4, contains examples and explanations regarding this.
This is one code example:
DEFINE INPUT PARAMETER tabname AS CHARACTER.
DEFINE OUTPUT PARAMETER TABLE-HANDLE tth.
DEFINE VARIABLE bh AS HANDLE.
DEFINE VARIABLE fh AS HANDLE.
DEFINE VARIABLE q AS HANDLE.
DEFINE VARIABLE dbh AS HANDLE.
DEFINE VARIABLE i AS INTEGER.
CREATE BUFFER dbh FOR TABLE tabname.
CREATE TEMP-TABLE tth.
tth:ADD-FIELDS-FROM(tabname).
tth:TEMP-TABLE-PREPARE(tabname).
bh = tth:DEFAULT-BUFFER-HANDLE.
CREATE QUERY q.
q:SET-BUFFERS(dbh).
q:QUERY-PREPARE("FOR EACH " + tabname).
q:QUERY-OPEN.
REPEAT i = 1 TO 5:
q:GET-NEXT.
bh:BUFFER-CREATE.
bh:BUFFER-COPY(dbh).
END.
DELETE OBJECT dbh.
DELETE OBJECT q.
DELETE OBJECT tth. /* delete is delayed until the parameter is passed */