CPXaddfuncdest() adds a function
msgfunction() to the message destination list for a channel. This routine allows users to "trap" messages instead of printing them. That is, when a message is sent to the channel, the routine
msgfunction() is called for each destination that was added to the function destination list by
To illustrate, consider an application in which a developer wishes to trap CPLEX error messages and display them in a dialog box that prompts the user for an action. Use
CPXaddfuncdest() to add the address of a function to the list of message destinations associated with the cpxerror channel. Then write the
msgfunction() routine. It must contain the code that controls the dialog box. When
CPXmsg() is called with
cpxerror as its first argument, it calls the
msgfunction() routine, which can then display the error message.
The routine returns a zero on success, and a nonzero if an error occurs. Failure occurs when
msgfunction() is not in the message destination list or the channel does not exist.
int CPXaddfuncdest (CPXCENVptr env, CPXCHANNELptr channel, void *handle, void (CPXPUBLIC *msgfunction) (void *, const char *));
The pointer to the CPLEX environment as returned by
A pointer to the channel to which the function destination is to be added.
A void pointer that can be used in the
msgfunction() routine to direct the message to a file, the screen, or a memory location.
A pointer to the function to be called when a message is sent to a channel.