ACDeInit(System |
After the notification of all affected instances by calling the ACPreDeInit method, the actual deinitialization starts.
This runs through the instances according to the "Depth-First" + "Post-Order" algorithm and calls the ACDeInit method.
You should overwrite this so that you can release references or unsubscribe from events, among other things.
Don't forget to make the base call! The basic ACDeInit method of theCComponent executes some functions to clear up the garbage collector. Before calling this function, first:
the state is set to Destructing.
If the instance is "poolable" (IsDisposable == true), it is given the status DisposingToPool instead.
At the end of the deinitialization process:
the state is set to Destructed,
or for a "poolable" instance on DisposedToPool.In this case, the instance is not cleaned up by the.NET garbage collector, but waits in a pool to be reactivated.
|
ACInit(gip |
The ACInit method is called directly after construction.
You can also overwrite the ACInit method.
When booting or dynamically reloading ACComponent trees, such as loading a workflow, the trees pass through the "Depth-First" + "Pre-Order" algorithm.
This means that the generation of child ACComponents is always carried out in depth first and then the next ACComponent at the same recursion depth.
The algorithm is executed in the ACInit method of the ACComponent class.
Therefore, you must always make the base call.
This means that as soon as you execute your initialization logic after the basic call, you know that the child components were created and that they are in initialization state.
|