CPXXdelfuncdestCPXdelfuncdest

例程 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);