Consultor Eletrônico



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 */