Release 10.1A: OpenEdge Development:
ProDataSets

> ## Deleting a dynamic ProDataSet passed as a parameter

> Like any other object, a dynamic ProDataSet should be deleted when you are finished using it. Otherwise it continues to use memory and other resources, and since a ProDataSet can be quite large, this can be significant. When a ProDataSet is passed remotely, and therefore copied, the called procedure must be prepared to delete it if it is received as a dynamic ProDataSet. As we have discussed, however, the same procedure call could be used between two procedures in the same session, and you would not want to inadvertently delete a ProDataSet that is passed by reference in a local call and therefore actually “owned” by another procedure.

> In order to simplify this, you can use this statement in the called procedure when it uses a `DATASET-HANDLE`:

> Syntax
>     DELETE OBJECT dataset-handle NO-ERROR.

> In this way, the ProDataSet is deleted when appropriate. The `NO-ERROR` keyword suppresses any error message if the object has already been deleted (in which case `dataset-handle` is no longer a valid handle). Also, this statement does not delete a ProDataSet object when the ProDataSet is passed locally and by reference, which means that the ProDataSet is not owned by the procedure attempting the delete.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095