get_message_objT_get_message_objGetMessageObjGetMessageObj (Operator)

Name

get_message_objT_get_message_objGetMessageObjGetMessageObj — Retrieve an object associated with the key from the message.

Signature

get_message_obj( : ObjectData : MessageHandle, Key : )

Herror T_get_message_obj(Hobject* ObjectData, const Htuple MessageHandle, const Htuple Key)

void GetMessageObj(HObject* ObjectData, const HTuple& MessageHandle, const HTuple& Key)

HObject HMessage::GetMessageObj(const HTuple& Key) const

HObject HMessage::GetMessageObj(const HString& Key) const

HObject HMessage::GetMessageObj(const char* Key) const

HObject HMessage::GetMessageObj(const wchar_t* Key) const   (Windows only)

static void HOperatorSet.GetMessageObj(out HObject objectData, HTuple messageHandle, HTuple key)

HObject HMessage.GetMessageObj(HTuple key)

HObject HMessage.GetMessageObj(string key)

Description

get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObj retrieves an object associated with the KeyKeyKeyKeykey from the message denoted by the MessageHandleMessageHandleMessageHandleMessageHandlemessageHandle. The object has to be previously stored to the message using set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObj.

The operator returns the data in the parameter ObjectDataObjectDataObjectDataObjectDataobjectData. The iconic object is copied by the operation. Threrefore, clearing or reusing the message object afterwards will not have any side-effect on the returned iconic object, afterwards.

If the given KeyKeyKeyKeykey is not present in the message or if the data associated with the key is not an object, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObj fails. Presence of keys and information about the data associated with the key can be verified using get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParam.

Execution Information

Parameters

ObjectDataObjectDataObjectDataObjectDataobjectData (output_object)  object(-array) objectHObjectHObjectHobject *

Tuple value retrieved from the message.

MessageHandleMessageHandleMessageHandleMessageHandlemessageHandle (input_control)  message HMessage, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Message handle.

Number of elements: MessageHandle == 1

Restriction: MessageHandle != 0

KeyKeyKeyKeykey (input_control)  string HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Key string or integer.

Number of elements: Key == 1

Example (HDevelop)

* ...
get_message_param (Message,'key_exists',['simple_string','foo','my_image'],\
                   KeysPresence)
get_message_param (Message,'key_data_type',['simple_string','my_image'],\
                   KeysType)
get_message_obj (Image, Message, 'my_image')

Result

If the operation succeeds, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObj returns 2 (H_MSG_TRUE). Otherwise an exception is raised. Possible error conditions include invalid parameters (handle or key), the required key not found in the message or other than object data associated with given key.

Possible Predecessors

dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessage

Alternatives

get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTuple

See also

create_messagecreate_messageCreateMessageCreateMessageCreateMessage, clear_messageclear_messageClearMessageClearMessageClearMessage, set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTuple, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTuple, set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObj, set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParam, get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParam, enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessage, dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessage

Module

Foundation