problem.setcbmessage
problem.setcbmessage |
Purpose
Set a user callback to be called whenever Xpress Nonlinear outputs a line of text
Synopsis
problem.setcbmessage (callback, object)
callback (my_prob, my_object, msg, msgtype)
Arguments
callback
|
The function to be called whenever Xpress Nonlinear outputs a line of text.
callback does not return a value.
|
||||||
my_prob
|
The problem passed to the callback function.
|
||||||
my_object
|
The user-defined object passed as
object to
setcbmessage.
|
||||||
msg
|
Character buffer holding the string to be output.
|
||||||
msgtype
|
Type of message. The following are system-defined:
A negative value indicates that the Optimizer is about to finish and any buffers should be flushed at this time. User-defined values are also possible for msgtype which can be passed using problem.printmsg |
||||||
object
|
Address of a user-defined object, which can be used for any purpose by the function.
object is passed to
callback as
my_object.
|
Example
The following example creates a log file into which all messages are placed. System messages are also printed on standard output:
log = '' p.setcbmessage (CBMessage, log)
A suitable callback function could resemble the following:
def CBMessage (Obj, msg, msgtype): if msgtype < 0: print (log) log = '' return if msgtype >= 1 and msgtype <= 4: print (msg) else: log += msg + ';'
Further information
If a user message callback is defined then screen output is automatically disabled.
Output can be directed into a log file by using problem.setlogfile.
Related topics