get_message_objT_get_message_objGetMessageObjGetMessageObjget_message_obj (算子)

名称

get_message_objT_get_message_objGetMessageObjGetMessageObjget_message_obj — 从消息中检索与键关联的对象。

签名

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)

def get_message_obj(message_handle: HHandle, key: Union[str, int]) -> HObject

描述

get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj retrieves an object associated with the KeyKeyKeyKeykeykey from the message denoted by the MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle. The object has to be previously stored to the message using set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObjset_message_obj

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

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

执行信息

参数

ObjectDataObjectDataObjectDataObjectDataobjectDataobject_data (输出对象)  object(-array) objectHObjectHObjectHObjectHobject *

Tuple value retrieved from the message.

MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle (输入控制)  message HMessage, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Message handle.

元素数量: MessageHandle == 1

限制: MessageHandle != 0

KeyKeyKeyKeykeykey (输入控制)  string HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Key string or integer.

元素数量: Key == 1

示例(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')

结果

If the operation succeeds, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj 返回 2 ( H_MSG_TRUE )。否则将抛出异常。 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.

可能的前趋

dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message

替代

get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple

另见

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

模块

基础