Initializing help system before first use

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:
Information message
Warning message
Error message

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