Progress
Programming
Handbook


Persistent Procedure Context and Shared Objects

While the context of a persistent procedure remains available to your application, there are certain capabilities that persistent procedures do not allow:

All other widgets and shared objects are allowed in a persistent procedure.

Scoped Object Sharing

In persistent procedures, scoped object sharing works differently than in non-persistent procedures. When a persistent procedure references a shared object, the scoped shared object stays in scope as long as the persistent procedure remains in scope. In other words, a shared object can go out of scope only when no persistent procedure remains that references it. For more information on scoped shared objects, see the "External Procedures" section.

Persistent Shared Objects and the Call Stack

Note that after a persistent procedure is created, it no longer appears on the procedure call stack. Only its triggers and internal procedures go on the call stack when they execute other procedures.

Normally Progress resolves scoped shared objects by looking for them on the call stack. However, if the trigger or internal procedure of a persistent procedure calls an external procedure that references scoped shared objects, Progress resolves these objects by looking for them in the context of the persistent procedure as well as on the call stack. For more information on the procedure call stack, see the "External Procedures" section.


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