callBackCallBack - Maple Help

Online Help

All Products    Maple    MapleSim


callBackCallBack

handle calls to the callback function in OpenMaple

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

callBackCallBack(data, output)

Parameters

data

-

user_data pointer passed to StartMaple (Long)

output

-

arguments (byte array pointer)

Description

• 

This OpenMaple function is part of the MapleCallBack structure passed as an argument to StartMaple.

• 

The callBackCallBack function executes when the Maple callback function is evaluated.  The callback function is application dependent, and can do whatever the driving application directs.

• 

The prototype for the function you can assign to the entry in the MapleCallBack must look like the following.

Function CallBackCallBack(ByVal data As Long, ByVal Output as Long) as Long

• 

The output parameter contains the text version of the parameters passed to the Maple callback function.

• 

On return, the callBackCallBack function returns either a 0 or a pointer to a string containing a valid Maple expression. If the callBackCallBack function returns NULL, the Maple callback function returns nothing.  Otherwise the return value is parsed assuming it contains a Maple command string.  Maple parses the expression but does not evaluate it, and returns it as the result of the callback function.

• 

This function can be used to explicitly pass intermediate values of a computation to your code and to return a value to Maple.

• 

If no callBackCallBack function is provided, any attempt to execute the Maple callback function produces an error (reported using the errorCallBack function or textCallBack function).

• 

The data parameter contains the same data as passed to StartMaple in the user_data parameter.

Examples

Function CallBackCallBack(ByVal data As Long, ByVal Output As Long) As Long

   Dim args As String

   args = MaplePointerToString(Output)

   CallBackCallBack = MapleStringToPointer("2*" + args + ";")

End Function

' assignment to MapleCallback entry

cb.lpCallBackCallBack = GetProc(AddressOf CallBackCallBack)

' test statement that will invoke the CallBackCallBack

EvalMapleStatement kv, "callback(x^2+3*x+1);"

See Also

errorCallBack

OpenMaple/VB/API

OpenMaple/VB/Examples

queryInterrupt

readLineCallBack

redirectCallBack

StartMaple

statusCallBack

streamCallBack

textCallBack