NO FRAMES

CPXaddfuncdest

int CPXPUBLIC CPXaddfuncdest(CPXCENVptr env, CPXCHANNELptr channel, void * handle, void(CPXPUBLIC *msgfunction)(void *, const char *) )
Definition file: cplex.h
Include files: cplex.h

The routine 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, each destination that was added to the message destination list by CPXaddfuncdest calls its associated message.

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.

Note
The argument handle is a generic pointer that can be used to hold information needed by the msgfunction routine to avoid making such information global to all routines.

Example

 void msgfunction (void *handle, char *msg_string)
 {
     FILE *fp;
     fp = (FILE *)handle;
     fprintf (fp, "%s", msg_string);
 }
 status = CPXaddfuncdest (env, mychannel, fileptr, msgfunction);
 

Parameters

env

A pointer to the CPLEX environment as returned by CPXopenCPLEX.

channel

A pointer to the channel to which the function destination is to be added.

handle

A void pointer that can be used to pass arbitrary information into msgfunction.

msgfunction

A pointer to the function to be called when a message is sent to a channel.

See Also:

Returns:

This routine returns zero on success and nonzero if an error occurs. Failure occurs when msgfunction is not in the message destination list or the channel does not exist.