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
 
  
