DoCallback(3D)

NAME
DoCallback - Create a callback object

SYNOPSIS
C:
DtObject DoCallback(function,dataobject)
DtPtr function;
DtObject dataobject;

FORTRAN:
INTEGER*4 DOCB(SUBPGM,DATOBJ)
EXTERNAL SUBPGM
INTEGER*4 DATOBJ

DESCRIPTION
DoCallback creates a callback object. The function parameter is a pointer to a user-defined function. The dataobject parameter is the handle of an object containing the associated run-time data for the user-defined function. This parameter is created with either DoDataPtr <DODP> or DoDataVal <DODV>. DoCallback calls function with the run-time data of dataobject. Set dataobject to DcNullObject <DCNULL> when the user-defined function requires no data.

The format for the user-defined function in C is:
	user_fcn(data)
	DtPtr data;           /* if DoDataPtr was used */
	Dt32Bits data;        /* if DoDataVal was used */

FORTRAN, the user-defined function can be either a subroutine or a function. The format is either:
	SUBROUTINE SUBPGM(DATA)
	INTEGER*4 DATA
or
	FUNCTION SUBPGM(DATA)
	INTEGER*4 DATA

Note that sometimes rendering methods involve multiple traversals of the Dore database, which means an update will cause callback objects and their user-written functions to be executed multiple times.

ERRORS
DoCallback will fail if dataobject is neither an object created with DoDataVal <DODV> or DoDataPtr <DODP> nor DcNullObject <DCNULL>.

[WARNING - invalid dataobject handle]

SEE ALSO
DdInqPickCallback(3D), DdSetPickCallback(3D), DoDataPtr(3D), DoDataVal(3D), DsExecuteObj(3D), DsExecutionAbort(3D), DsExecutionReturn(3D)