ReleaseCallback - Release a callback

Top  Previous  Next

Syntax

 

<lSuccess> := ReleaseCallback( <nAddress> )

 

Parameters

 

<nAddress>

 

Address of callback to be released. Use the value returned by Callback or RequestCallback.

 

Return value

 

A logical indicating if the callback specified by <nAddress> could be found and released.

 

Description

 

Use ReleaseCallback to release a callback that was installed using Callback or RequestCallback when it is not used any more. This will free memory resources that were allocated for the callback. ReleaseCallback may be called from inside a callback to release itself.

 

For more details about callbacks turn to Callbacks.

 

Classification

 

Core

 

Category

 

Calls and Callbacks

 

Quick Info

 

Library: cckptcor.lib / cckptcor.dll

 

See also

 

Callback, RequestCallback.

 

Example

 

 

#INCLUDE "CockpitCoreLibs.ch"

#INCLUDE "Callback.ch"

 

FUNCTION Main

 

LOCAL callbackAddress

 

* Create a callback for a function to be called via CallAddress

callbackAddress := Callback({|a,b,c|MyCallback(a,b,c)},CALLBACK_CALLCONVENTION_STDCALL)

 

* Call the function via its address passing some test parameters

? CallAddress(callbackAddress,1,2,3)

 

* Release allocated resources

ReleaseCallback(callbackAddress)

 

RETURN NIL

 

 

* Function to be called via CallAddress

STATIC FUNCTION MyCallback(a,b,c)

 

* Display the parameters passed

? a,b,c

 

* Return the sum

RETURN a+b+c