Kbase P98306: Delete of dynamic objects passed as parameter is not postponed
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/1/2004 |
|
Status: Unverified
SYMPTOM(s):
Delete of dynamic object is not postponed
Creating object in procedure
Object handle is passed back to calling procedure as output parameter
DELETE OBJECT is called for object handle in called procedure
Object is not available in calling procedure
CAUSE:
This is expected behavior.
When passing a handle as parameter, only a pointer to an object is passed, not the object itself.
In this case, the 4GL does not postpone the delete of the object as it does not recognize the object should be passed back.
FIX:
If possible, use the object-type parameter for the object to be passed back.
This can be done for buffers, temp-tables and (in OpenEdge 10 and later) ProDataSets.
Otherwise, make sure to clean up the object in the calling procedure instead of the called procedure.