Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
redirectCallBack - handle output redirection in OpenMaple
Calling Sequence
redirectCallBack(data, name, mode)
Parameters
data
-
user_data pointer passed to StartMaple (Long)
name
name of the file stream to redirect to (byte array pointer)
mode
file mode to distinguish between writing and appending (byte array pointer)
Description
This OpenMaple function is part of the MapleCallBack structure passed as an argument to StartMaple.
The redirectCallBack function is called when the kernel executes the Maple writeto or appendto function. The intent is to redirect subsequent output.
The prototype for the function that you can assign to the entry in the MapleCallBack must look like the following.
Function RedirectCallBack(ByVal data As Long,
ByVal name as Long,
ByVal mode As Long) as Long
The name parameter specifies the name of the file to which output is appended. The mode parameter specifies the file access mode to use. The mode is "wt" for write or "at" for append. The name and mode parameters are compatible with the C library function fopen.
If the name parameter is 0, Maple is signaling that redirection is terminated. Subsequent output is sent, for example, to the main output stream.
If no redirectCallBack function is provided, any attempt to execute the Maple writeto function or appendto 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
dim useredirct as boolean
Function RedirectCallBack(ByVal data As Long, ByVal name As Long, _
ByVal mode As Long) As Long
Dim iomode As String
If name = 0 Then
Close #2
useredirect = False
Else
iomode = MaplePointerToString(mode)
If iomode = "wt" Then
Open MaplePointerToString(name) For Output As #2
useredirect = True
End If
RedirectCallBack = True
End Function
Sub TextCallBack(ByVal data As Long, ByVal tag As Integer, _
ByVal Output As Long)
Dim OutputString As String
OutputString = MaplePointerToString(Output)
If useredirect Then
Write #2, "BEGIN TextCallBack", tag
Write #2, OutputString
Write #2, "END TextCallBack"
End Sub
' assignment to MapleCallback entry
cb.lpRedirectCallBack = GetProc(AddressOf RedirectCallBack)
' test statement that will invoke the CallBackCallBack
EvalMapleStatement kv, "writeto(""somefile"");"
EvalMapleStatement kv, "x+y;"
EvalMapleStatement kv, "writeto(terminal);"
See Also
callBackCallBack, errorCallBack, OpenMaple, OpenMaple/VB/API, OpenMaple/VB/Examples, queryInterrupt, readLineCallBack, StartMaple, statusCallBack, streamCallBack, textCallBack
Download Help Document