ClassesClassesClassesClasses | | | | Operators

clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage (Operator)

Name

clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage — Close a message handle and release all associated resources.

Signature

clear_message( : : MessageHandle : )

Herror clear_message(const Hlong MessageHandle)

Herror T_clear_message(const Htuple MessageHandle)

Herror clear_message(const HTuple& MessageHandle)

void ClearMessage(const HTuple& MessageHandle)

void HOperatorSetX.ClearMessage([in] VARIANT MessageHandle)

static void HOperatorSet.ClearMessage(HTuple messageHandle)

Description

clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage closes a message handle MessageHandleMessageHandleMessageHandleMessageHandleMessageHandlemessageHandle that was previously opened with create_messagecreate_messageCreateMessagecreate_messageCreateMessageCreateMessage or dequeue_messagedequeue_messageDequeueMessagedequeue_messageDequeueMessageDequeueMessage. Any resources owned by the message, in particular the tuple or object data stored in the message, will be released.

Multiple message handles can be closed in a single clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage call, passing them as a tuple to the MessageHandleMessageHandleMessageHandleMessageHandleMessageHandlemessageHandle parameter.

Attention

The handle(s) must not be used again after being invalidated using clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage. Using an invalid handle results in undefined behavior.

Parallelization

Parameters

MessageHandleMessageHandleMessageHandleMessageHandleMessageHandlemessageHandle (input_control)  message(-array) HMessage, HTupleHTupleHMessage, HTupleHMessageX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Message handle(s) to be closed.

Number of elements: MessageHandle >= 1

Restriction: MessageHandle != 0

Example (HDevelop)

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

Result

If the message handle(s) passed to the operator are valid, clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage returns 2 (H_MSG_TRUE). Otherwise an exception is raised. If a tuple of handles is passed and some of them are invalid, clear_messageclear_messageClearMessageclear_messageClearMessageClearMessage attempts to clear as many handles from the tuple as possible before reporting the error.

Possible Predecessors

create_messagecreate_messageCreateMessagecreate_messageCreateMessageCreateMessage, dequeue_messagedequeue_messageDequeueMessagedequeue_messageDequeueMessageDequeueMessage

See also

create_messagecreate_messageCreateMessagecreate_messageCreateMessageCreateMessage, set_message_tupleset_message_tupleSetMessageTupleset_message_tupleSetMessageTupleSetMessageTuple, get_message_tupleget_message_tupleGetMessageTupleget_message_tupleGetMessageTupleGetMessageTuple, set_message_objset_message_objSetMessageObjset_message_objSetMessageObjSetMessageObj, get_message_objget_message_objGetMessageObjget_message_objGetMessageObjGetMessageObj, set_message_paramset_message_paramSetMessageParamset_message_paramSetMessageParamSetMessageParam, get_message_paramget_message_paramGetMessageParamget_message_paramGetMessageParamGetMessageParam, enqueue_messageenqueue_messageEnqueueMessageenqueue_messageEnqueueMessageEnqueueMessage, dequeue_messagedequeue_messageDequeueMessagedequeue_messageDequeueMessageDequeueMessage

Module

Foundation


ClassesClassesClassesClasses | | | | Operators