CPXXdelfuncdest 和 CPXdelfuncdest
例程 CPXXdelfuncdest/CPXdelfuncdest 用于从通道的相关消息目标列表中除去函数 msgfunction。
int CPXXdelfuncdest( CPXCENVptr 环境, CPXCHANNELptr 海峡, void * 处理, void(CPXPUBLIC *微函数)(void *, const char *) )
int CPXdelfuncdest( CPXCENVptr 环境, CPXCHANNELptr 海峡, void * 处理, void(CPXPUBLIC *微函数)(void *, const char *) )
描述
例程 CPXXdelfuncdest/CPXdelfuncdest 用于从通道的相关消息目标列表中除去函数 msgfunction。 使用 CPXXdelfuncdest/CPXdelfuncdest 可除去使用 CPXXaddfuncdest/CPXaddfuncdest 添加到该列表的函数。
为了加以说明,请考虑这样的一个应用程序:开发者捕获 CPLEX 错误消息,并在提示用户执行操作的对话框中显示这些消息。 请使用
CPXXaddfuncdest/CPXaddfuncdest
将函数的地址添加到与 cpxerror
通道相关联的消息目标列表。 然后,编写 msgfunction 例程。 它必须包含用于控制对话框的代码。 When CPXXmsgstr/CPXmsgstr is called with cpxerror as its first argument, it calls the msgfunction routine, which then displays the error message.
msgfunction例程所需的信息,以避免将这些信息作为所有例程的全局信息。参数
- env
一个指向
CPXXopenCPLEX/CPXopenCPLEX所返回 CPLEX 环境的指针。- 通道
一个指针,指向要从中删除函数目标的通道。
- handle
在
msgfunction例程中使用的指针。- msgfunction
一个指针,指向将消息发送到通道时调用的函数。 有关该回调函数的详细信息,请参阅 "
CPXXaddfuncdest/CPXaddfuncdest。
返回
如果这些例程成功,那么会返回 0,而如果发生错误,那么会返回非零值。 当消息目标列表中没有 msgfunction,或者通道不存在时,将发生故障。
示例
void CPXPUBLIC msgfunction (void *handle, const char *msg_string)
{
FILE *fp;
fp = (FILE *)handle;
fprintf (fp, "%s", msg_string);
}
status = CPXdelfuncdest (env, mychannel, fileptr, msgfunction);