clear_messageT_clear_messageClearMessageClearMessageclear_message清除消息(算子)

名称

clear_messageT_clear_messageClearMessageClearMessageclear_message — 关闭消息句柄并释放所有相关资源。

签名

clear_message( : : MessageHandle : )

Herror T_clear_message(const Htuple MessageHandle)

void ClearMessage(const HTuple& MessageHandle)

static void HMessage::ClearMessage(const HMessageArray& MessageHandle)

void HMessage::ClearMessage() const

static void HOperatorSet.ClearMessage(HTuple messageHandle)

static void HMessage.ClearMessage(HMessage[] messageHandle)

void HMessage.ClearMessage()

def clear_message(message_handle: MaybeSequence[HHandle]) -> None

描述

clear_messageclear_messageClearMessageClearMessageClearMessageclear_message 关闭先前通过 create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_messagedequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message 打开的消息句柄 MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle。消息所占用的任何资源(特别是存储在消息中的元组或对象数据)都将被释放。

可通过单次调用 clear_messageclear_messageClearMessageClearMessageClearMessageclear_message 关闭多个消息句柄,将其作为元组传递给 MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle 参数。

注意

在使用 clear_messageclear_messageClearMessageClearMessageClearMessageclear_message 使句柄失效后,该句柄不得再次使用。使用无效句柄将导致行为未定义。

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle (输入控制,状态被修改)  message(-array) HMessage, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

待关闭的消息句柄。

元素数量: MessageHandle >= 1

限制: MessageHandle != 0

示例(HDevelop)

MessageHandles := []
for idx := 0 to 4 by 1
  create_message (MessageHandle)
  MessageHandles[idx]:= MessageHandle
endfor
* ...

结果

如果传递给操作符的消息句柄有效,clear_messageclear_messageClearMessageClearMessageClearMessageclear_message 返回 2 (H_MSG_TRUE)。否则将抛出异常。如果传递的是句柄元组且其中部分句柄无效,clear_messageclear_messageClearMessageClearMessageClearMessageclear_message 会尝试清除元组中尽可能多的句柄,然后再报告错误。

可能的前趋

create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_message, dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message

另见

create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_message, set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTupleset_message_tuple, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple, set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObjset_message_obj, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj, set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParamset_message_param, get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param, enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessageenqueue_message, dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message

模块

基础